aboutsummaryrefslogtreecommitdiffstats
path: root/doc/datastores.txt
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-29 15:44:51 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-29 15:44:51 +0000
commit45a4fdffea8230442cfec23ed4fa6515c3c0b7f2 (patch)
tree1b22cdbf580542ad512bdf8dd88cea8f920800c9 /doc/datastores.txt
parent272889ca05cfe5352e6b6a91d4f67aecde6fcf24 (diff)
Merged revisions 66398 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r66398 | file | 2007-05-29 11:43:16 -0400 (Tue, 29 May 2007) | 2 lines Update datastores documentation. (issue #9801 reported by mnicholson) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66399 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'doc/datastores.txt')
-rw-r--r--doc/datastores.txt13
1 files changed, 4 insertions, 9 deletions
diff --git a/doc/datastores.txt b/doc/datastores.txt
index a3aa9c27f..64b5d35cc 100644
--- a/doc/datastores.txt
+++ b/doc/datastores.txt
@@ -22,9 +22,8 @@ This is a needed structure that contains information about a datastore, it's use
1. Use ast_channel_datastore_alloc function to return a pre-allocated structure
Ex: datastore = ast_channel_datastore_alloc(&example_datastore, "uid");
This function takes two arguments: (datastore info structure, uid)
-2. Attach data and destroy callback to pre-allocated structure.
+2. Attach data to pre-allocated structure.
Ex: datastore->data = mysillydata;
- datastore->destroy = callback_destroy;
3. Add datastore to the channel
Ex: ast_channel_datastore_add(chan, datastore);
This function takes two arguments: (pointer to channel, pointer to data store)
@@ -33,13 +32,12 @@ Full Example:
void callback_destroy(void *data)
{
- free(data);
+ ast_free(data);
}
struct ast_datastore *datastore = NULL;
datastore = ast_channel_datastore_alloc(&example_datastore, NULL);
datastore->data = mysillydata;
-datastore->destroy = callback_destroy;
ast_channel_datastore_add(chan, datastore);
NOTE: Because you're passing a pointer to a function in your module, you'll want to include
@@ -53,11 +51,8 @@ this in your use count. When allocated increment, when destroyed decrement.
2. Remove the data store from the channel
Ex: ast_channel_datastore_remove(chan, datastore);
This function takes two arguments: (pointer to channel, pointer to data store)
-3. If we want to now, free the memory or do stuff to the data on the data store
- If we do then we will want to unset the data and callback
- Ex: datastore->data = NULL;
- datastore->destroy = NULL;
-4. Free the data store
+3. If we want to now do stuff to the data on the data store
+4. Free the data store (this will call the destroy call back)
Ex: ast_channel_datastore_free(datastore);
This function takes one argument: (pointer to data store)