summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2007-08-28 18:32:56 +0000
committerRussell Bryant <russell@russellbryant.com>2007-08-28 18:32:56 +0000
commit040a5f20f9fd04805dcb8b5dd5cc6028d11fa617 (patch)
treec25307d562fc9a5264313a14869bcaa1395f737c
parent43e9b0f67cb87f430b71a646f1283764d94fdd09 (diff)
* Constify the uid field of channel datastores
* Convert some spaces to tabs in func_volume * Add a note in channel.h making it clear that none of the datastore API calls lock the channel they are given, so the channel should be locked before calling the functions that take a channel argument. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--funcs/func_volume.c4
-rw-r--r--include/asterisk/channel.h14
-rw-r--r--main/channel.c6
3 files changed, 15 insertions, 9 deletions
diff --git a/funcs/func_volume.c b/funcs/func_volume.c
index 79fc13f30..aca13fd47 100644
--- a/funcs/func_volume.c
+++ b/funcs/func_volume.c
@@ -58,8 +58,8 @@ static void destroy_callback(void *data)
/*! \brief Static structure for datastore information */
static const struct ast_datastore_info volume_datastore = {
- .type = "volume",
- .destroy = destroy_callback
+ .type = "volume",
+ .destroy = destroy_callback
};
static int volume_callback(struct ast_audiohook *audiohook, struct ast_channel *chan, struct ast_frame *frame, enum ast_audiohook_direction direction)
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index b24b25c79..11fb1df38 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -195,7 +195,7 @@ struct ast_datastore_info {
/*! \brief Structure for a channel data store */
struct ast_datastore {
- char *uid; /*!< Unique data store identifier */
+ const char *uid; /*!< Unique data store identifier */
void *data; /*!< Contained data */
const struct ast_datastore_info *info; /*!< Data store type information */
unsigned int inheritance; /*!< Number of levels this item will continue to be inherited */
@@ -615,8 +615,14 @@ enum channelreloadreason {
CHANNEL_MANAGER_RELOAD,
};
-/*! \brief Create a channel datastore structure */
-struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, char *uid);
+/*!
+ * \brief Create a channel datastore structure
+ *
+ * \note None of the datastore API calls lock the ast_channel they are using.
+ * So, the channel should be locked before calling the functions that
+ * take a channel argument.
+ */
+struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid);
/*! \brief Free a channel datastore structure */
int ast_channel_datastore_free(struct ast_datastore *datastore);
@@ -631,7 +637,7 @@ int ast_channel_datastore_add(struct ast_channel *chan, struct ast_datastore *da
int ast_channel_datastore_remove(struct ast_channel *chan, struct ast_datastore *datastore);
/*! \brief Find a datastore on a channel */
-struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, char *uid);
+struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, const char *uid);
/*! \brief Change the state of a channel */
int ast_setstate(struct ast_channel *chan, enum ast_channel_state);
diff --git a/main/channel.c b/main/channel.c
index 9d2460633..1b4971eb1 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1167,7 +1167,7 @@ void ast_channel_free(struct ast_channel *chan)
ast_device_state_changed_literal(name);
}
-struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, char *uid)
+struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid)
{
struct ast_datastore *datastore = NULL;
@@ -1201,7 +1201,7 @@ int ast_channel_datastore_free(struct ast_datastore *datastore)
/* Free allocated UID memory */
if (datastore->uid != NULL) {
- ast_free(datastore->uid);
+ ast_free((void *) datastore->uid);
datastore->uid = NULL;
}
@@ -1255,7 +1255,7 @@ int ast_channel_datastore_remove(struct ast_channel *chan, struct ast_datastore
return res;
}
-struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, char *uid)
+struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, const char *uid)
{
struct ast_datastore *datastore = NULL;