libUPnP  1.6.17
Data Structures | Files | Typedefs | Functions
The UpnpString Class

Implements string operations in the UPnP library. More...

Data Structures

struct  SUpnpString
 Internal implementation of the class UpnpString. More...

Files

file  UpnpString.h
 

UpnpString object declaration.


file  UpnpString.c
 

UpnpString object implementation.


Typedefs

typedef struct s_UpnpString UpnpString
 Type of the string objects inside libupnp.

Functions

UpnpStringUpnpString_new ()
 Constructor.
void UpnpString_delete (UpnpString *p)
 Destructor.
UpnpStringUpnpString_dup (const UpnpString *p)
 Copy Constructor.
void UpnpString_assign (UpnpString *p, const UpnpString *q)
 Assignment operator.
size_t UpnpString_get_Length (const UpnpString *p)
 Returns the length of the string.
void UpnpString_set_Length (UpnpString *p, size_t n)
 Truncates the string to the specified lenght, or does nothing if the current lenght is less than or equal to the requested length.
const char * UpnpString_get_String (const UpnpString *p)
 Returns the pointer to char.
int UpnpString_set_String (UpnpString *p, const char *s)
 Sets the string from a pointer to char.
int UpnpString_set_StringN (UpnpString *p, const char *s, size_t n)
 Sets the string from a pointer to char using a maximum of N chars.
void UpnpString_clear (UpnpString *p)
 Clears the string, sets its size to zero.
int UpnpString_cmp (UpnpString *p, UpnpString *q)
 Compares two strings for equality. Case matters.
int UpnpString_casecmp (UpnpString *p, UpnpString *q)
 Compares two strings for equality. Case does not matter.
static size_t strnlen (const char *s, size_t n)
static char * strndup (const char *__string, size_t __n)

Detailed Description

Implements string operations in the UPnP library.

Author:
Marcelo Roberto Jimenez
Version:
1.0

Due to its heavy use, this class is coded for efficiency, not for beauty. Do not use this as example to other classes. Please take a look at any other one.

Todo:
Always alloc a minimum size like 64 bytes or so and when shrinking do not perform a new memory allocation.

Typedef Documentation

typedef struct s_UpnpString UpnpString

Type of the string objects inside libupnp.


Function Documentation

void UpnpString_assign ( UpnpString p,
const UpnpString q 
)

Assignment operator.

Parameters:
[in]pThe this pointer.
[in]qThe that pointer.

References UpnpString_get_String(), and UpnpString_set_String().

Referenced by genaSubscribe(), ScheduleGenaAutoRenew(), and UpnpThreadDistribution().

int UpnpString_casecmp ( UpnpString p,
UpnpString q 
)

Compares two strings for equality. Case does not matter.

Returns:
The result of strcasecmp().
Parameters:
[in]pThe the first string.
[in]qThe the second string.

References UpnpString_get_String().

Clears the string, sets its size to zero.

Parameters:
[in]pThe this pointer.

Referenced by gena_subscribe(), and genaSubscribe().

int UpnpString_cmp ( UpnpString p,
UpnpString q 
)

Compares two strings for equality. Case matters.

Returns:
The result of strcmp().
Parameters:
[in]pThe the first string.
[in]qThe the second string.

References UpnpString_get_String().

Copy Constructor.

Returns:
A pointer to a new allocated copy of the original object.
Parameters:
[in]pThe this pointer.

References SUpnpString::m_length, and SUpnpString::m_string.

Referenced by UpnpClientSubscription_set_ActualSID(), UpnpClientSubscription_set_EventURL(), UpnpClientSubscription_set_SID(), and UpnpThreadDistribution().

size_t UpnpString_get_Length ( const UpnpString p)

Returns the length of the string.

Returns:
The length of the string.
Parameters:
[in]pThe this pointer.

Referenced by gena_subscribe(), and gena_unsubscribe().

const char * UpnpString_get_String ( const UpnpString p)
void UpnpString_set_Length ( UpnpString p,
size_t  n 
)

Truncates the string to the specified lenght, or does nothing if the current lenght is less than or equal to the requested length.

Parameters:
[in]pThe this pointer.
[in]nThe requested length.

References SUpnpString::m_length.

int UpnpString_set_String ( UpnpString p,
const char *  s 
)
int UpnpString_set_StringN ( UpnpString p,
const char *  s,
size_t  n 
)

Sets the string from a pointer to char using a maximum of N chars.

Parameters:
[in]pThe this pointer.
[in]s(char *) to copy from.
nMaximum number of chars to copy.

References SUpnpString::m_string.

Referenced by gena_subscribe().