Beispiel #1
0
void DataBank_CloseNameSpace (
	DataBankPtr self,
	esif_string nameSpace
	)
{
	UInt32 ns;

	esif_ccb_write_lock(&self->lock);

	// Find Existing NameSpace
	for (ns = 0; ns < self->size; ns++) {
		if (esif_ccb_stricmp(nameSpace, self->elements[ns].name) == 0) {
			DataVault_dtor(&self->elements[ns]);

			// Move Array Items down one and wipe the final item
			for ( ; ns + 1 < self->size; ns++)
				esif_ccb_memcpy(&self->elements[ns], &self->elements[ns + 1], sizeof(self->elements[ns]));
			if (ns < ESIF_MAX_NAME_SPACES) {
				WIPEPTR(&self->elements[ns]);
			}
			self->size--;
		}
	}
	esif_ccb_write_unlock(&self->lock);
}
Beispiel #2
0
// object management
void ESIF_INLINE IString_ctor (IStringPtr self)
{
	if (self) {
		WIPEPTR(self);
		self->type = ESIF_DATA_STRING;
	}
}
Beispiel #3
0
void ESIF_INLINE IString_dtor (IStringPtr self)
{
	ESIF_ASSERT(self);
	if (self->buf_len) {
		esif_ccb_free(self->buf_ptr);
	}
	WIPEPTR(self);
}
Beispiel #4
0
// destructor
void DataVault_dtor (DataVaultPtr self)
{
	if (self) {
		DataCache_Destroy(self->cache);
		IOStream_Destroy(self->stream);
		WIPEPTR(self);
	}
}
Beispiel #5
0
// constructor
void DataVault_ctor (DataVaultPtr self)
{
	if (self) {
		WIPEPTR(self);
		self->cache  = DataCache_Create();
		self->stream = IOStream_Create();
	}
}
Beispiel #6
0
// constructor
static void DataVault_ctor(DataVaultPtr self)
{
	if (self) {
		WIPEPTR(self);
		esif_ccb_lock_init(&self->lock);
		self->cache  = DataCache_Create();
		self->stream = IOStream_Create();
	}
}
Beispiel #7
0
// destructor
static void DataVault_dtor(DataVaultPtr self)
{
	if (self) {
		DataCache_Destroy(self->cache);
		IOStream_Destroy(self->stream);
		esif_ccb_lock_uninit(&self->lock);
		WIPEPTR(self);
	}
}
Beispiel #8
0
// destructor
void StringList_dtor (StringListPtr self)
{
	if (self) {
		int i;
		for (i = 0; i < self->items; i++)
			String_Destroy(self->list[i]);
		esif_ccb_free(self->list);
		WIPEPTR(self);
	}
}
Beispiel #9
0
// destructor
static ESIF_INLINE void EqlCmd_dtor (EqlCmdPtr self)
{
	ASSERT(self);
	String_Destroy(self->adapter);
	String_Destroy(self->subtype);
	String_Destroy(self->action);
	StringList_Destroy(self->messages);
	StringList_Destroy(self->parameters);
	StringList_Destroy(self->datatypes);
	StringList_Destroy(self->values);
	StringList_Destroy(self->options);
	EsifDataList_Destroy(self->results);
	WIPEPTR(self);
}
Beispiel #10
0
// constructor
void StringList_ctor (StringListPtr self)
{
	if (self) {
		WIPEPTR(self);
	}
}