Esempio n. 1
0
void CBInitByteArraySubReference(CBByteArray * self, CBByteArray * ref, uint32_t offset, uint32_t length) {
    CBInitObject(CBGetObject(self), false);
    self->sharedData = ref->sharedData;
    self->sharedData->references++; // Since a new reference to the shared data is being made, an increase in the reference count must be made.
    self->length = length;
    self->offset = ref->offset + offset;
}
Esempio n. 2
0
bool CBInitStringByCopyingCString(CBString * self,char * string){
	self->string = malloc(strlen(string));
	strcpy(self->string,string);
	if (!CBInitObject(CBGetObject(self)))
		return false;
	return true;
}
Esempio n. 3
0
void CBInitByteArrayWithData(CBByteArray * self, uint8_t * data, uint32_t size) {
    CBInitObject(CBGetObject(self), false);
    self->sharedData = malloc(sizeof(*self->sharedData));
    self->sharedData->data = data;
    self->sharedData->references = 1;
    self->length = size;
    self->offset = 0;
}
Esempio n. 4
0
bool CBInitMessageByObject(CBMessage * self,void (*onErrorReceived)(CBError error,char *,...)){
	if (NOT CBInitObject(CBGetObject(self)))
		return false;
	self->bytes = NULL;
	self->onErrorReceived = onErrorReceived;
	self->expectResponse = false;
	self->serialised = false;
	return true;
}
Esempio n. 5
0
void CBInitByteArrayFromString(CBByteArray * self, char * string, bool terminator) {
    CBInitObject(CBGetObject(self), false);
    self->length = (uint32_t)(strlen(string) + terminator);
    self->sharedData = malloc(sizeof(*self->sharedData));
    self->sharedData->data = malloc(self->length);
    self->sharedData->references = 1;
    self->offset = 0;
    memcpy(self->sharedData->data, string, self->length);
}
Esempio n. 6
0
bool CBInitMessageByData(CBMessage * self,CBByteArray * data,void (*onErrorReceived)(CBError error,char *,...)){
	if (NOT CBInitObject(CBGetObject(self)))
		return false;
	self->bytes = data;
	CBRetainObject(data); // Retain data for this object.
	self->onErrorReceived = onErrorReceived;
	self->expectResponse = false;
	self->serialised = true;
	return true;
}
Esempio n. 7
0
bool CBInitByteArraySubReference(CBByteArray * self,CBByteArray * ref,uint32_t offset,uint32_t length){
	if (NOT CBInitObject(CBGetObject(self)))
		return false;
	self->logError = ref->logError;
	self->sharedData = ref->sharedData;
	self->sharedData->references++; // Since a new reference to the shared data is being made, an increase in the reference count must be made.
	self->length = length;
	self->offset = ref->offset + offset;
	return true;
}
Esempio n. 8
0
void CBInitByteArrayOfSize(CBByteArray * self, uint32_t size) {
    CBInitObject(CBGetObject(self), false);
    self->length = size;
    self->offset = 0;
    if (size) {
        self->sharedData = malloc(sizeof(*self->sharedData));
        self->sharedData->references = 1;
        self->sharedData->data = malloc(size);
    } else
        self->sharedData = NULL;
}
Esempio n. 9
0
bool CBInitScript(CBScript * self,CBNetworkParameters * params,CBByteArray * program,CBEvents * events){
	if (!CBInitObject(CBGetObject(self)))
		return false;
	self->params = params;
	self->program = program;
	self->events = events;
	// Retain objects now held
	CBGetObjectVT(self->params)->retain(self->params);
	CBGetObjectVT(self->program)->retain(self->program);
	self->cursor = 0;
	return true;
}
Esempio n. 10
0
bool CBInitByteArrayWithData(CBByteArray * self,uint8_t * data,uint32_t size,void (*logError)(char *,...)){
	if (NOT CBInitObject(CBGetObject(self)))
		return false;
	self->logError = logError;
	self->sharedData = malloc(sizeof(*self->sharedData));
	if (NOT self->sharedData) {
		logError("Cannot allocate %i bytes of memory in CBInitByteArrayWithData for the sharedData structure.\n",sizeof(*self->sharedData));
		return false;
	}
	self->sharedData->data = data;
	self->sharedData->references = 1;
	self->length = size;
	self->offset = 0;
	return true;
}
Esempio n. 11
0
bool CBInitByteArrayFromString(CBByteArray * self, char * string, bool terminator, void (*logError)(char *,...)){
	if (NOT CBInitObject(CBGetObject(self)))
		return false;
	self->logError = logError;
	self->length = (uint32_t)(strlen(string) + terminator);
	self->sharedData = malloc(sizeof(*self->sharedData));
	if (NOT self->sharedData) {
		logError("Cannot allocate %i bytes of memory in CBInitByteArrayFromString for the sharedData structure.\n",sizeof(*self->sharedData));
		return false;
	}
	self->sharedData->data = malloc(self->length);
	if (NOT self->sharedData->data) {
		logError("Cannot allocate %i bytes of memory in CBInitByteArrayFromString for the shared data.\n",self->length);
		return false;
	}
	self->sharedData->references = 1;
	self->offset = 0;
	memmove(self->sharedData->data, string, self->length);
	return true;
}
Esempio n. 12
0
CBObject * CBNewObject(){
	CBObject * self = malloc(sizeof(*self));
	self->free = CBFreeObject;
	CBInitObject(self);
	return self;
}
Esempio n. 13
0
bool CBInitStringByTakingCString(CBString * self,char * string){
	self->string = string;
	if (!CBInitObject(CBGetObject(self)))
		return false;
	return true;
}
Esempio n. 14
0
bool CBInitNetworkParameters(CBNetworkParameters * self){
	if (!CBInitObject(CBGetObject(self)))
		return false;
	return true;
}