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
1.6.0
Joshua Colp 18 years ago
parent 36f15091bb
commit 23c6b239d6

@ -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)

Loading…
Cancel
Save