- First implementation of Hdbqueue

- First implementation of new object model for SICS
This commit is contained in:
koennecke
2007-08-03 15:12:10 +00:00
parent 3170314457
commit 31a48d2155
21 changed files with 1035 additions and 101 deletions

View File

@ -39,6 +39,7 @@
#define HIPINTVARAR 5
#define HIPFLOATVARAR 6
#define HIPOBJ 7
#define HIPFUNC 8
/* -------- callback types */
#define HCBSET 0
#define HCBUPDATE 1
@ -192,7 +193,13 @@ pHdb MakeHipadabaNode(char *name, int datatype, int length);
*/
void AddHipadabaChild(pHdb parent, pHdb child, void *callData);
/**
* delete a hipadaba node and all its children
* Delete only the node data, without invoking any callbacks
* @param node The node to delete.
*/
void DeleteNodeData(pHdb node);
/**
* delete a hipadaba node and all its children. Then invoke the tree
* change callback to notify listeners.
* @parma node The node to delete
* @param callData User data for the tree change callback
*/
@ -228,6 +235,12 @@ void RemoveHdbNodeFromParent(pHdb node, void *callData);
* @param root The callback chain to delete
*/
void DeleteCallbackChain(pHdbCallback root);
/**
* count the numbers of children in thie Hdb node
* @param node The node to count children for
* @return The number of children
*/
int CountHdbChildren(pHdb node);
/*===================== function protoypes: Callbacks ========================*/
/**
* make a new hipdaba callback
@ -270,6 +283,16 @@ void RemoveHipadabaCallback(pHdb root, int id);
* @param internalID The internal ID callbacks have to match in order to be removed.
*/
void InternalRemoveHipadabaCallback(pHdb root, int internalID);
/**
* invoke a callback chain.
* @param root The callback chain to invoke
* @param node The node reposnible for this callback chain
* @param callData Some data belonging to the callback
* @param v The new value for this callback
* @return 1 on success, 0 on failure
*/
int InvokeCallbackChain(pHdbCallback root, pHdb node,
void *callData, hdbValue v);
/*============== Parameter Handling ===============================*/
/**
@ -290,6 +313,14 @@ int SetHipadabaPar(pHdb node, hdbValue v, void *callData);
* @return 0 on failure, 1 on success
*/
int UpdateHipadabaPar(pHdb node, hdbValue v, void *callData);
/**
* notify any update listeners that this node has been internally modidifed.
* @param node The node modified
* @param callData Addtional data for the callback
* @return 1 on success, 0 on failure
*/
int NotifyHipadabaPar(pHdb node,void *callData);
/**
* Read a hipadaba parameter
* @param node The node for which to read the parameter