| Loudmouth Reference Manual |
|---|
LmMessageNodeLmMessageNode — A node in the message tree |
LmMessageNode;
const gchar* lm_message_node_get_value (LmMessageNode *node);
void lm_message_node_set_value (LmMessageNode *node,
const gchar *value);
LmMessageNode* lm_message_node_add_child (LmMessageNode *node,
const gchar *name,
const gchar *value);
void lm_message_node_set_attributes (LmMessageNode *node,
const gchar *name,
...);
const gchar* lm_message_node_get_attribute (LmMessageNode *node,
const gchar *name);
void lm_message_node_set_attribute (LmMessageNode *node,
const gchar *name,
const gchar *value);
LmMessageNode* lm_message_node_get_child (LmMessageNode *node,
const gchar *child_name);
LmMessageNode* lm_message_node_find_child (LmMessageNode *node,
const gchar *child_name);
gboolean lm_message_node_get_raw_mode (LmMessageNode *node);
void lm_message_node_set_raw_mode (LmMessageNode *node,
gboolean raw_mode);
LmMessageNode* lm_message_node_ref (LmMessageNode *node);
void lm_message_node_unref (LmMessageNode *node);
gchar* lm_message_node_to_string (LmMessageNode *node);
typedef struct {
gchar *name;
gchar *value;
gboolean raw_mode;
LmMessageNode *next;
LmMessageNode *prev;
LmMessageNode *parent;
LmMessageNode *children;
} LmMessageNode;
A struct representing a node in a message.
gchar *name; |
the name of the node |
gchar *value; |
value of the node, can be NULL |
gboolean raw_mode; |
if true, don't escape the content of the message. The content must be valid XML. |
LmMessageNode *next; |
next sibling |
LmMessageNode *prev; |
previous sibling |
LmMessageNode *parent; |
node parent |
LmMessageNode *children; |
pointing to first child |
const gchar* lm_message_node_get_value (LmMessageNode *node);
Retrieves the value of node.
node : |
an LmMessageNode |
| Returns : |
void lm_message_node_set_value (LmMessageNode *node, const gchar *value);
Sets the value of node. If a previous value is set it will be freed.
node : |
an LmMessageNode |
value : |
the new value. |
LmMessageNode* lm_message_node_add_child (LmMessageNode *node, const gchar *name, const gchar *value);
Add a child node with name and value set to value.
node : |
an LmMessageNode |
name : |
the name of the new child |
value : |
value of the new child |
| Returns : | the newly created child |
void lm_message_node_set_attributes (LmMessageNode *node, const gchar *name, ...);
Sets a list of attributes. The arguments should be names and corresponding
value and needs to be ended with NULL.
node : |
an LmMessageNode |
name : |
the first attribute, should be followed by a string with the value |
... : |
The rest of the name/value pairs |
const gchar* lm_message_node_get_attribute (LmMessageNode *node, const gchar *name);
Fetches the attribute name from node.
node : |
an LmMessageNode |
name : |
the attribute name |
| Returns : | the attribute value or NULL if not set
|
void lm_message_node_set_attribute (LmMessageNode *node, const gchar *name, const gchar *value);
Sets the attribute name to value.
node : |
an LmMessageNode |
name : |
name of attribute |
value : |
value of attribute. |
LmMessageNode* lm_message_node_get_child (LmMessageNode *node, const gchar *child_name);
Fetches the child child_name from node. If child is not found as an
immediate child of node NULL is returned.
node : |
an LmMessageNode |
child_name : |
the childs name |
| Returns : | the child node or NULL if not found
|
LmMessageNode* lm_message_node_find_child (LmMessageNode *node, const gchar *child_name);
Locates a child among all children of node. The entire tree will be search
until a child with name child_name is located.
node : |
A LmMessageNode |
child_name : |
The name of the child to find |
| Returns : | the located child or NULL if not found
|
gboolean lm_message_node_get_raw_mode (LmMessageNode *node);
Checks if the nodes value should be sent as raw mode.
node : |
an LmMessageNode |
| Returns : | TRUE if nodes value should be sent as is and FALSE if the value will be escaped before sending.
|
void lm_message_node_set_raw_mode (LmMessageNode *node, gboolean raw_mode);
Set raw_mode to TRUE if you don't want to escape the value. You need to make sure the value is valid XML yourself.
node : |
an LmMessageNode |
raw_mode : |
boolean specifying if node value should be escaped or not. |
LmMessageNode* lm_message_node_ref (LmMessageNode *node);
Adds a reference to node.
node : |
an LmMessageNode |
| Returns : | the node |
void lm_message_node_unref (LmMessageNode *node);
Removes a reference from node. When no more references are present the
node is freed. When freed lm_message_node_unref() will be called on all
children. If caller needs to keep references to the children a call to
lm_message_node_ref() needs to be done before the call to
lm_message_unref().
node : |
an LmMessageNode |
gchar* lm_message_node_to_string (LmMessageNode *node);
Returns an XML string representing the node. This is what is sent over the wire. This is used internally Loudmouth and is external for debugging purposes.
node : |
an LmMessageNode |
| Returns : | an XML string representation of node
|
| << LmMessageHandler | LmSSL >> |