31 #ifndef _UCOMMON_PROTOCOLS_H_
32 #define _UCOMMON_PROTOCOLS_H_
34 #ifndef _UCOMMON_CPR_H_
43 class __EXPORT MemoryProtocol
46 friend class MemoryRedirect;
55 virtual void *_alloc(
size_t size) = 0;
58 virtual ~MemoryProtocol();
65 inline void *alloc(
size_t size) {
76 void *zalloc(
size_t size);
84 char *
dup(
const char *
string);
92 void *
dup(
void *memory,
size_t size);
103 MemoryProtocol *target;
108 virtual void *_alloc(
size_t size) __OVERRIDE;
121 virtual void _lock(
void);
122 virtual void _unlock(
void);
142 virtual const char *_print(
void)
const = 0;
163 virtual int _input(
int code) = 0;
179 virtual void retain(
void) = 0;
184 virtual void release(
void) = 0;
217 virtual int keytype(
void)
const = 0;
222 virtual size_t keysize(
void)
const = 0;
227 virtual const void *
keydata(
void)
const = 0;
229 virtual bool equal(
const KeyProtocol& compare)
const;
231 inline bool operator!=(
const KeyProtocol& compare)
const {
232 return !equal(compare);