dc_Types.h File Reference

Data types used by the DPWSCore API. More...

#include "dc/dc_Ctypes.h"
#include "stdsoap2.h"

Data Structures

struct  qname
 An XML qualified name used for instance for WS-Discovery port types. More...
struct  prefixed_qname
 An XML qualified name with a prefix specification used for instance for WS-Discovery port types. More...
struct  prefix_def
 An association between a prefix and an URI for XML namespaces. More...
struct  localized_string
 Used for API parameters that are localized using the xml:lang attribute. More...
struct  wsa_version
 WS-Addressing version constants. More...
struct  wsa_endpoint_ref
 WS-Adressing endpoint reference Runtime structure that contains WS-addressing endpoint reference data. More...
struct  discovery_filter
 WS-Discovery filter used for probe match. More...
struct  dpws_protocols
struct  dpws
 DPWS toolkit runtime structure Main DPWS API runtime data structure. More...
struct  model_info
 Container for WS-MedataExchange APIs results. More...
struct  device_info
 Container for WS-MedataExchange APIs results. More...
struct  wsdl_info
 Container for WS-MedataExchange APIs results. More...
struct  service_info
 Container for WS-MedataExchange APIs results. More...
struct  device_metadata
 Container for WS-MedataExchange APIs results. More...
struct  service_metadata
 Container for WS-MedataExchange APIs results. More...
struct  event_end_info
 Container for WS-Eventing subscription end event. More...
struct  dc_netif_filter
 Structure used as a filter criteria for network interfaces. More...
struct  dc_ip_filter
 Structure used as a filter criteria for IP addresses. More...

Defines

DC Runtime structures
#define WITH_NOIO
#define WITH_NOHTTP
#define WITH_IPV6
#define HAVE_CONFIG_H
#define dpws_dpws2soap(dpws)   (&dpws->soap)
 Macro for transforming a DPWS runtime structure into a gSOAP runtime structure.
#define dpws_soap2dpws(soap)   ((struct dpws *)(soap))
 Macro for transforming a gSOAP runtime structure into a DPWS runtime structure (provided the gSOAP structure is in fact embedded in a DPWS structure).

XML Types

#define QNAME_EQUALS(ns1, ln1, ns2, ln2)   (!strcmp(ln1, ln2) && (ns1 ? (ns2 ? !strcmp(ns1, ns2) : 0) : ns2 == NULL))
 Compares to QNames given as strings.
#define QNAME_STRUCT_EQUALS(qn1, qn2)   QNAME_EQUALS(qn1->ns, qn1->lname, qn2->ns, qn2->lname)
 Compares to QNames given as qname_t structs.
#define QNAME_EQUALS_WILDCARD(ns, ln, ref_ns, ref_ln)   (!ref_ln || (!strcmp(ln, ref_ln) && (ns ? (ref_ns ? !strcmp(ns, ref_ns) : 0) : ref_ns == NULL)))
 Compares to QNames given as strings but returns true when the reference is NULL.
#define QNAME_STRUCT_EQUALS_WILDCARD(qn, ref_qn)   QNAME_EQUALS_WILDCARD(qn->ns, qn->lname, ref_qn->ns, ref_qn->lname)
 Compares to QNames given as qname_t structs but returns true when the reference is NULL.
typedef struct qname qname_t
 An XML qualified name used for instance for WS-Discovery port types.
typedef struct prefixed_qname prefixed_qname_t
 An XML qualified name with a prefix specification used for instance for WS-Discovery port types.
typedef struct prefix_def prefix_def_t
 An association between a prefix and an URI for XML namespaces.
typedef struct localized_string localized_string_t
 Used for API parameters that are localized using the xml:lang attribute.

Configuration API types

#define DC_NETIF_SELECT_NAME   0
 The stack will select the interface using the adapter friendly name.
#define DC_NETIF_SELECT_MAC   1
 The stack will select the interface using its MAC address.
#define DC_NETIF_SELECT_NUMBER   2
 The stack will select the IPv6 interface number.
#define DC_PROTO_ANY   0
 Any protocol.
#define DC_PROTO_INET   1
 IP v4 protocol.
#define DC_PROTO_INET6   2
 IP v6 protocol.
typedef int(* dispatch_cbk )(struct dpws *dpws)
 The prototype of generated function that must be associated to a service class so that it can process web services invocations.
typedef void(* discovery_cbk )(struct dpws *dpws, short href_dev_proxy)
 The prototype of callback that can be set on the toolkit to receive Hello or Bye events.
typedef void(* metadata_cbk )(short href_device)
 The prototype of callback that can be set on the toolkit to be warned that someone has changed a discovery device metadata version using hot-configuration features.
typedef int(* fault_cbk )(struct dpws *dpws)
 The prototype of callback that can be set on the toolkit to receive faults that have not been provoked by a local stub use.
typedef void(* event_end_cbk )(struct event_end_info *)
 The prototype of callback that can be set on the toolkit to be warned that a WS-Eventing subscription has expired in unexpected manner.
typedef struct dc_netif_filter dc_netif_filter_t
 Structure used as a filter criteria for network interfaces.
typedef struct dc_ip_filter dc_ip_filter_t
 Structure used as a filter criteria for IP addresses.

WS-Discovery Types

enum  scope_match_rule_t {
  WSD_MATCH_BY_UNSPECIFIED = 0, WSD_MATCH_BY_RFC2396 = 1, WSD_MATCH_BY_UUID = 2, WSD_MATCH_BY_LDAP = 3,
  WSD_MATCH_BY_STRCMP = 4
}
 WS-Discovery Probe scope match rule. More...
enum  cache_mode_t { WSD_LOOKUP_MODE_CACHE_FIRST = 0, WSD_LOOKUP_MODE_CACHE_ONLY = 1, WSD_LOOKUP_MODE_FORCE_NETWORK = 2 }
 A specification on how the API should use the local cache. More...
typedef struct discovery_filter discovery_filter_t
 WS-Discovery filter used for probe match.


Detailed Description

Data types used by the DPWSCore API.

Contains especially definitions for the runtime structures used by the API.


Define Documentation

#define QNAME_EQUALS ( ns1,
ln1,
ns2,
ln2   )     (!strcmp(ln1, ln2) && (ns1 ? (ns2 ? !strcmp(ns1, ns2) : 0) : ns2 == NULL))

Compares to QNames given as strings.

#define QNAME_STRUCT_EQUALS ( qn1,
qn2   )     QNAME_EQUALS(qn1->ns, qn1->lname, qn2->ns, qn2->lname)

Compares to QNames given as qname_t structs.

#define QNAME_EQUALS_WILDCARD ( ns,
ln,
ref_ns,
ref_ln   )     (!ref_ln || (!strcmp(ln, ref_ln) && (ns ? (ref_ns ? !strcmp(ns, ref_ns) : 0) : ref_ns == NULL)))

Compares to QNames given as strings but returns true when the reference is NULL.

#define QNAME_STRUCT_EQUALS_WILDCARD ( qn,
ref_qn   )     QNAME_EQUALS_WILDCARD(qn->ns, qn->lname, ref_qn->ns, ref_qn->lname)

Compares to QNames given as qname_t structs but returns true when the reference is NULL.

#define dpws_dpws2soap ( dpws   )     (&dpws->soap)

Macro for transforming a DPWS runtime structure into a gSOAP runtime structure.

Parameters:
dpws a DPWS runtime structure

#define dpws_soap2dpws ( soap   )     ((struct dpws *)(soap))

Macro for transforming a gSOAP runtime structure into a DPWS runtime structure (provided the gSOAP structure is in fact embedded in a DPWS structure).

Parameters:
soap a gSOAP runtime structure

#define DC_NETIF_SELECT_NAME   0

The stack will select the interface using the adapter friendly name.

#define DC_NETIF_SELECT_MAC   1

The stack will select the interface using its MAC address.

The format used for the filter is an hexadecimal strings separated by '-' or ':'.

#define DC_NETIF_SELECT_NUMBER   2

The stack will select the IPv6 interface number.

#define DC_PROTO_ANY   0

Any protocol.

#define DC_PROTO_INET   1

IP v4 protocol.

#define DC_PROTO_INET6   2

IP v6 protocol.


Typedef Documentation

typedef struct qname qname_t

An XML qualified name used for instance for WS-Discovery port types.

Note: Already defined in EPX. Double waiting that dpws relies on EPX.

An XML qualified name with a prefix specification used for instance for WS-Discovery port types.

typedef struct prefix_def prefix_def_t

An association between a prefix and an URI for XML namespaces.

Used for API parameters that are localized using the xml:lang attribute.

WS-Discovery filter used for probe match.

typedef int(* dispatch_cbk)(struct dpws *dpws)

The prototype of generated function that must be associated to a service class so that it can process web services invocations.

typedef void(* discovery_cbk)(struct dpws *dpws,short href_dev_proxy)

The prototype of callback that can be set on the toolkit to receive Hello or Bye events.

typedef void(* metadata_cbk)(short href_device)

The prototype of callback that can be set on the toolkit to be warned that someone has changed a discovery device metadata version using hot-configuration features.

typedef int(* fault_cbk)(struct dpws *dpws)

The prototype of callback that can be set on the toolkit to receive faults that have not been provoked by a local stub use.

typedef void(* event_end_cbk)(struct event_end_info *)

The prototype of callback that can be set on the toolkit to be warned that a WS-Eventing subscription has expired in unexpected manner.

Structure used as a filter criteria for network interfaces.

typedef struct dc_ip_filter dc_ip_filter_t

Structure used as a filter criteria for IP addresses.

The criteria are cumulative.


Enumeration Type Documentation

WS-Discovery Probe scope match rule.

Enumerator:
WSD_MATCH_BY_UNSPECIFIED  Do not specify a match rule meaning RFC2396.

WSD_MATCH_BY_RFC2396  URI based comparison defined in the WS-Discovery specification.

WSD_MATCH_BY_UUID  For UUID URIs.

Binary comparison. Optional in DPWS

WSD_MATCH_BY_LDAP  For LDAP URIs.

The comparison based on RFC2253. Optional in DPWS. Unsupported in the current version of the toolkit.

WSD_MATCH_BY_STRCMP  Simple case sensitive string comparison.

A specification on how the API should use the local cache.

Enumerator:
WSD_LOOKUP_MODE_CACHE_FIRST  The defaut mode where the cache will be checked first before sending a probe on the network if retrieved endpoints are not as many as asked.
WSD_LOOKUP_MODE_CACHE_ONLY  Only look in the local cache whatever be the number of endpoints retrieved.
WSD_LOOKUP_MODE_FORCE_NETWORK  Forces a cache update with a network probe.

Note that invalid endpoint lying in the cache (because no Bye message was received) are not discarded an may be retrieved.


Generated on Fri Apr 17 15:18:25 2009 for DPWSCore by  doxygen 1.5.8