mUPnP for C
argument.h File Reference
#include <mupnp/typedef.h>
#include <mupnp/xml/xml.h>
#include <mupnp/util/list.h>

Data Structures

struct  _mUpnpArgument
 

Macros

#define MUPNP_ARGUMENT_ELEM_NAME   "argument"
 
#define MUPNP_ARGUMENTLIST_ELEM_NAME   "argumentList"
 
#define MUPNP_ARGUMENT_IN_DIR   "in"
 
#define MUPNP_ARGUMENT_OUT_DIR   "out"
 
#define MUPNP_ARGUMENT_NAME   "name"
 
#define MUPNP_ARGUMENT_DIRECTION   "direction"
 
#define MUPNP_ARGUMENT_RELATED_STATE_VARIABLE   "relatedStateVariable"
 
#define mupnp_argument_next(arg)
 
#define mupnp_argument_isargumentnode(node)
 
#define mupnp_argument_setservicenode(arg, node)
 
#define mupnp_argument_getservicenode(arg)
 
#define mupnp_argument_setargumentnode(arg, node)
 
#define mupnp_argument_getargumentnode(arg)
 
#define mupnp_argument_setname(arg, value)
 
#define mupnp_argument_getname(arg)
 
#define mupnp_argument_isname(arg, name)
 
#define mupnp_argument_setdirection(arg, value)
 
#define mupnp_argument_getdirection(arg)
 
#define mupnp_argument_isindirection(arg)
 
#define mupnp_argument_isoutdirection(arg)
 
#define mupnp_argument_setrelatedstatevariable(arg, value)
 
#define mupnp_argument_getrelatedstatevariable(arg)
 
#define mupnp_argument_setvalue(arg, data)
 
#define mupnp_argument_getvalue(arg)
 
#define mupnp_argument_setintvalue(arg, data)
 
#define mupnp_argument_getintvalue(arg)
 
#define mupnp_argument_setfloatvalue(arg, data)
 
#define mupnp_argument_getfloatvalue(arg)
 
#define mupnp_argument_setdoublevalue(arg, data)
 
#define mupnp_argument_getdoublevalue(arg)
 
#define mupnp_argumentlist_clear(argList)
 
#define mupnp_argumentlist_size(argList)
 
#define mupnp_argumentlist_gets(argList)
 
#define mupnp_argumentlist_add(argList, arg)
 

Typedefs

typedef struct _mUpnpArgument mUpnpArgument
 
typedef struct _mUpnpArgument mUpnpArgumentList
 

Functions

mUpnpArgumentmupnp_argument_new (void)
 
void mupnp_argument_delete (mUpnpArgument *dev)
 
mUpnpArgumentListmupnp_argumentlist_new (void)
 
void mupnp_argumentlist_delete (mUpnpArgumentList *argumentList)
 
mUpnpArgumentmupnp_argumentlist_get (mUpnpArgumentList *argumentList, const char *name)
 
void mupnp_argumentlist_set (mUpnpArgumentList *argumentList, mUpnpArgumentList *srcArgumentList)
 

Macro Definition Documentation

◆ MUPNP_ARGUMENT_DIRECTION

#define MUPNP_ARGUMENT_DIRECTION   "direction"

Definition for argument element "direction"

◆ MUPNP_ARGUMENT_ELEM_NAME

#define MUPNP_ARGUMENT_ELEM_NAME   "argument"

Definition for argument element name

◆ mupnp_argument_getargumentnode

#define mupnp_argument_getargumentnode ( arg)
Value:
(arg->argumentNode)

Get XML argument node from argument

Parameters
argArgument

◆ mupnp_argument_getdirection

#define mupnp_argument_getdirection ( arg)
Value:
#define mupnp_argument_getargumentnode(arg)
Definition argument.h:124
#define MUPNP_ARGUMENT_DIRECTION
Definition argument.h:43
const char * mupnp_xml_node_getchildnodevalue(mUpnpXmlNode *node, const char *name)
Definition xml_node.c:216

Get argument direction

Parameters
argArgument
Returns
Argument direction

◆ mupnp_argument_getdoublevalue

#define mupnp_argument_getdoublevalue ( arg)
Value:
#define mupnp_string_getdoublevalue(str)
Definition string.h:133

Get argument value

Parameters
argArgument
Returns
Argument value

◆ mupnp_argument_getfloatvalue

#define mupnp_argument_getfloatvalue ( arg)
Value:
#define mupnp_string_getfloatvalue(str)
Definition string.h:132

Get argument value

Parameters
argArgument
Returns
Argument value

◆ mupnp_argument_getintvalue

#define mupnp_argument_getintvalue ( arg)
Value:
#define mupnp_string_getintvalue(str)
Definition string.h:130

Get argument value

Parameters
argArgument
Returns
Argument value

◆ mupnp_argument_getname

#define mupnp_argument_getname ( arg)
Value:

Get argument name

Parameters
argArgument

◆ mupnp_argument_getrelatedstatevariable

#define mupnp_argument_getrelatedstatevariable ( arg)
Value:

Get related state variable

Parameters
argArgument
Returns
String representing the related state variable

◆ mupnp_argument_getservicenode

#define mupnp_argument_getservicenode ( arg)
Value:
(arg->serviceNode)

Get service node from argument

Parameters
argArgument

◆ mupnp_argument_getvalue

#define mupnp_argument_getvalue ( arg)
Value:
char * mupnp_string_getvalue(mUpnpString *str)
Definition string.c:177

Get argument value

Parameters
argArgument
Returns
Argument value

◆ MUPNP_ARGUMENT_IN_DIR

#define MUPNP_ARGUMENT_IN_DIR   "in"

Definition for argument passing direction (in)

◆ mupnp_argument_isargumentnode

#define mupnp_argument_isargumentnode ( node)
Value:
#define MUPNP_ARGUMENT_ELEM_NAME
Definition argument.h:28
#define mupnp_xml_node_isname(node, nodename)
Definition xml.h:123

Check if XML node is argument node

Parameters
nodeXML node
Returns
True if node is argument node, false otherwise

◆ mupnp_argument_isindirection

#define mupnp_argument_isindirection ( arg)
Value:
#define mupnp_argument_getdirection(arg)
Definition argument.h:170
#define MUPNP_ARGUMENT_IN_DIR
Definition argument.h:34
bool mupnp_streq(const char *str1, const char *str2)
Definition string_function.c:158

Check if argument direction is "in"

Parameters
argArgument
Returns
True if argument directon is "in"

◆ mupnp_argument_isname

#define mupnp_argument_isname ( arg,
name )
Value:
#define mupnp_argument_getname(arg)
Definition argument.h:141

Check if current argument name matches with the provided name

Parameters
argArgument
nameName matched with argument name
Returns
True if argument name equals with the provided name, false otherwise

◆ mupnp_argument_isoutdirection

#define mupnp_argument_isoutdirection ( arg)
Value:
#define MUPNP_ARGUMENT_OUT_DIR
Definition argument.h:37

Check if argument direction is "out"

Parameters
argArgument
Returns
True if argument direction is "out"

◆ MUPNP_ARGUMENT_NAME

#define MUPNP_ARGUMENT_NAME   "name"

Definition for argument element name

◆ mupnp_argument_next

#define mupnp_argument_next ( arg)
Value:
mUpnpList * mupnp_list_next(mUpnpList *list)
Definition list.c:234
Definition argument.h:55
The generic list interface in mUPnP.
Definition list.h:56

Get next argument using argument as iterator

Parameters
argArgument node

◆ MUPNP_ARGUMENT_OUT_DIR

#define MUPNP_ARGUMENT_OUT_DIR   "out"

Definition for argument passing direction (out)

◆ MUPNP_ARGUMENT_RELATED_STATE_VARIABLE

#define MUPNP_ARGUMENT_RELATED_STATE_VARIABLE   "relatedStateVariable"

Definition for argument related state variable

◆ mupnp_argument_setargumentnode

#define mupnp_argument_setargumentnode ( arg,
node )
Value:
(arg->argumentNode = node)

Set XML argument node for argument

Parameters
argArgument
nodeXML argument node

◆ mupnp_argument_setdirection

#define mupnp_argument_setdirection ( arg,
value )
Value:
void mupnp_xml_node_setchildnode(mUpnpXmlNode *node, const char *name, const char *value)
Definition xml_node.c:105

Set direction for argument

Parameters
argArgument
valueNew direction value

◆ mupnp_argument_setdoublevalue

#define mupnp_argument_setdoublevalue ( arg,
data )
Value:
mupnp_string_setdoublevalue(arg->value, data)
void mupnp_string_setdoublevalue(mUpnpString *str, double value)

Set argument value

Parameters
argArgument
dataArgument value

◆ mupnp_argument_setfloatvalue

#define mupnp_argument_setfloatvalue ( arg,
data )
Value:
mupnp_string_setfloatvalue(arg->value, data)
void mupnp_string_setfloatvalue(mUpnpString *str, float value)

Set argument value

Parameters
argArgument
dataArgument value

◆ mupnp_argument_setintvalue

#define mupnp_argument_setintvalue ( arg,
data )
Value:
mupnp_string_setintvalue(arg->value, data)
void mupnp_string_setintvalue(mUpnpString *str, int value)
Definition string.c:100

Set argument value

Parameters
argArgument
dataArgument value

◆ mupnp_argument_setname

#define mupnp_argument_setname ( arg,
value )
Value:

Set name for argument

Parameters
argArgument
valueArgument name

◆ mupnp_argument_setrelatedstatevariable

#define mupnp_argument_setrelatedstatevariable ( arg,
value )
Value:

Set related state variable

Parameters
argArgument
valueRelated state variable name

◆ mupnp_argument_setservicenode

#define mupnp_argument_setservicenode ( arg,
node )
Value:
(arg->serviceNode = node)

Set XML service node for argument

Parameters
argArgument
nodeXML service node

◆ mupnp_argument_setvalue

#define mupnp_argument_setvalue ( arg,
data )
Value:
mupnp_string_setvalue(arg->value, data)
void mupnp_string_setvalue(mUpnpString *str, const char *value)
Definition string.c:84

Set argument value

Parameters
argArgument
dataArgument value

◆ mupnp_argumentlist_add

#define mupnp_argumentlist_add ( argList,
arg )
Value:
void mupnp_list_add(mUpnpList *headList, mUpnpList *list)
Definition list.c:123

Add argument into argument list

Parameters
argListArgument list
argArgument

◆ mupnp_argumentlist_clear

#define mupnp_argumentlist_clear ( argList)
Value:
void mupnp_argument_delete(mUpnpArgument *dev)
Definition argument.c:45
void mupnp_list_clear(mUpnpList *headList, MUPNP_LIST_DESTRUCTORFUNC destructorFunc)
Definition list.c:257
void(* MUPNP_LIST_DESTRUCTORFUNC)(void *)
Definition list.h:29

Clear argument list

Parameters
argListArgument list

◆ MUPNP_ARGUMENTLIST_ELEM_NAME

#define MUPNP_ARGUMENTLIST_ELEM_NAME   "argumentList"

Definition for argument list element name

◆ mupnp_argumentlist_gets

#define mupnp_argumentlist_gets ( argList)
Value:

Get next argument from argument list

Parameters
argListArgument list

◆ mupnp_argumentlist_size

#define mupnp_argumentlist_size ( argList)
Value:
int mupnp_list_size(mUpnpList *headList)
Definition list.c:53

Get argument list size

Parameters
argListArgument list

Typedef Documentation

◆ mUpnpArgument

typedef struct _mUpnpArgument mUpnpArgument

Data type definition for UPnP argument and UPnP argument list

◆ mUpnpArgumentList

Function Documentation

◆ mupnp_argument_delete()

void mupnp_argument_delete ( mUpnpArgument * dev)

Delete argument

Parameters
devArgument

◆ mupnp_argument_new()

mUpnpArgument * mupnp_argument_new ( void )

Create new argument

◆ mupnp_argumentlist_delete()

void mupnp_argumentlist_delete ( mUpnpArgumentList * argumentList)

Delete argument list

Parameters
argumentListArgument list

◆ mupnp_argumentlist_get()

mUpnpArgument * mupnp_argumentlist_get ( mUpnpArgumentList * argumentList,
const char * name )

Get argument from argument list based on argument name

Parameters
argumentListargumentList
nameArgument name
Returns
Argument

◆ mupnp_argumentlist_new()

mUpnpArgumentList * mupnp_argumentlist_new ( void )

Create new argument list

◆ mupnp_argumentlist_set()

void mupnp_argumentlist_set ( mUpnpArgumentList * argumentList,
mUpnpArgumentList * srcArgumentList )

Set argument values by using source argument list. If there is an argument with the name in argument list and source argument list argument data is set from source argument list to the matching argument list.

Parameters
argumentListArgument list
srcArgumentListSource argument list