From: Joshua Colp Date: Tue, 29 May 2007 15:44:51 +0000 (+0000) Subject: Merged revisions 66398 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~2560 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23c6b239d6427a7e4277e1018108c5ff1b8a0ca4;p=thirdparty%2Fasterisk.git 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: https://origsvn.digium.com/svn/asterisk/trunk@66399 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/doc/datastores.txt b/doc/datastores.txt index a3aa9c27f1..64b5d35ccd 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)