value.h File Reference

Value wrapper API. More...

#include <glib.h>

Include dependency graph for value.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PurpleValue
 A wrapper for a type, subtype, and specific type of value. More...

Enumerations

enum  PurpleSubType {
  PURPLE_SUBTYPE_UNKNOWN = 0, PURPLE_SUBTYPE_ACCOUNT, PURPLE_SUBTYPE_BLIST, PURPLE_SUBTYPE_BLIST_BUDDY,
  PURPLE_SUBTYPE_BLIST_GROUP, PURPLE_SUBTYPE_BLIST_CHAT, PURPLE_SUBTYPE_BUDDY_ICON, PURPLE_SUBTYPE_CONNECTION,
  PURPLE_SUBTYPE_CONVERSATION, PURPLE_SUBTYPE_PLUGIN, PURPLE_SUBTYPE_BLIST_NODE, PURPLE_SUBTYPE_CIPHER,
  PURPLE_SUBTYPE_STATUS, PURPLE_SUBTYPE_LOG, PURPLE_SUBTYPE_XFER, PURPLE_SUBTYPE_SAVEDSTATUS,
  PURPLE_SUBTYPE_XMLNODE, PURPLE_SUBTYPE_USERINFO, PURPLE_SUBTYPE_STORED_IMAGE
}
 Purple-specific subtype values. More...
enum  PurpleType {
  PURPLE_TYPE_UNKNOWN = 0, PURPLE_TYPE_SUBTYPE, PURPLE_TYPE_CHAR, PURPLE_TYPE_UCHAR,
  PURPLE_TYPE_BOOLEAN, PURPLE_TYPE_SHORT, PURPLE_TYPE_USHORT, PURPLE_TYPE_INT,
  PURPLE_TYPE_UINT, PURPLE_TYPE_LONG, PURPLE_TYPE_ULONG, PURPLE_TYPE_INT64,
  PURPLE_TYPE_UINT64, PURPLE_TYPE_STRING, PURPLE_TYPE_OBJECT, PURPLE_TYPE_POINTER,
  PURPLE_TYPE_ENUM, PURPLE_TYPE_BOXED
}
 Specific value types. More...

Functions

void purple_value_destroy (PurpleValue *value)
 Destroys a PurpleValue.
PurpleValuepurple_value_dup (const PurpleValue *value)
 Duplicated a PurpleValue.
gboolean purple_value_get_boolean (const PurpleValue *value)
 Returns the value's boolean data.
void * purple_value_get_boxed (const PurpleValue *value)
 Returns the value's boxed data.
char purple_value_get_char (const PurpleValue *value)
 Returns the value's character data.
int purple_value_get_enum (const PurpleValue *value)
 Returns the value's enum data.
int purple_value_get_int (const PurpleValue *value)
 Returns the value's integer data.
gint64 purple_value_get_int64 (const PurpleValue *value)
 Returns the value's 64-bit integer data.
long purple_value_get_long (const PurpleValue *value)
 Returns the value's long integer data.
void * purple_value_get_object (const PurpleValue *value)
 Returns the value's object data.
void * purple_value_get_pointer (const PurpleValue *value)
 Returns the value's pointer data.
short purple_value_get_short (const PurpleValue *value)
 Returns the value's short integer data.
const char * purple_value_get_specific_type (const PurpleValue *value)
 Returns a value's specific type.
const char * purple_value_get_string (const PurpleValue *value)
 Returns the value's string data.
unsigned int purple_value_get_subtype (const PurpleValue *value)
 Returns a value's subtype.
PurpleType purple_value_get_type (const PurpleValue *value)
 Returns a value's type.
unsigned char purple_value_get_uchar (const PurpleValue *value)
 Returns the value's unsigned character data.
unsigned int purple_value_get_uint (const PurpleValue *value)
 Returns the value's unsigned integer data.
guint64 purple_value_get_uint64 (const PurpleValue *value)
 Returns the value's unsigned 64-bit integer data.
unsigned long purple_value_get_ulong (const PurpleValue *value)
 Returns the value's unsigned long integer data.
unsigned short purple_value_get_ushort (const PurpleValue *value)
 Returns the value's unsigned short integer data.
gboolean purple_value_is_outgoing (const PurpleValue *value)
 Returns whether or not the value is an outgoing value.
PurpleValuepurple_value_new (PurpleType type,...)
 Creates a new PurpleValue.
PurpleValuepurple_value_new_outgoing (PurpleType type,...)
 Creates a new outgoing PurpleValue.
void purple_value_set_boolean (PurpleValue *value, gboolean data)
 Sets the value's boolean data.
void purple_value_set_boxed (PurpleValue *value, void *data)
 Sets the value's boxed data.
void purple_value_set_char (PurpleValue *value, char data)
 Sets the value's character data.
void purple_value_set_enum (PurpleValue *value, int data)
 Sets the value's enum data.
void purple_value_set_int (PurpleValue *value, int data)
 Sets the value's integer data.
void purple_value_set_int64 (PurpleValue *value, gint64 data)
 Sets the value's 64-bit integer data.
void purple_value_set_long (PurpleValue *value, long data)
 Sets the value's long integer data.
void purple_value_set_object (PurpleValue *value, void *data)
 Sets the value's object data.
void purple_value_set_pointer (PurpleValue *value, void *data)
 Sets the value's pointer data.
void purple_value_set_short (PurpleValue *value, short data)
 Sets the value's short integer data.
void purple_value_set_string (PurpleValue *value, const char *data)
 Sets the value's string data.
void purple_value_set_uchar (PurpleValue *value, unsigned char data)
 Sets the value's unsigned character data.
void purple_value_set_uint (PurpleValue *value, unsigned int data)
 Sets the value's unsigned integer data.
void purple_value_set_uint64 (PurpleValue *value, guint64 data)
 Sets the value's unsigned 64-bit integer data.
void purple_value_set_ulong (PurpleValue *value, unsigned long data)
 Sets the value's unsigned long integer data.
void purple_value_set_ushort (PurpleValue *value, unsigned short data)
 Sets the value's unsigned short integer data.


Detailed Description

Value wrapper API.

purple

Purple is the legal property of its developers, whose names are too numerous to list here. Please refer to the COPYRIGHT file distributed with this source distribution.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Definition in file value.h.


Enumeration Type Documentation

enum PurpleSubType

Purple-specific subtype values.

Enumerator:
PURPLE_SUBTYPE_UNKNOWN 
PURPLE_SUBTYPE_ACCOUNT 
PURPLE_SUBTYPE_BLIST 
PURPLE_SUBTYPE_BLIST_BUDDY 
PURPLE_SUBTYPE_BLIST_GROUP 
PURPLE_SUBTYPE_BLIST_CHAT 
PURPLE_SUBTYPE_BUDDY_ICON 
PURPLE_SUBTYPE_CONNECTION 
PURPLE_SUBTYPE_CONVERSATION 
PURPLE_SUBTYPE_PLUGIN 
PURPLE_SUBTYPE_BLIST_NODE 
PURPLE_SUBTYPE_CIPHER 
PURPLE_SUBTYPE_STATUS 
PURPLE_SUBTYPE_LOG 
PURPLE_SUBTYPE_XFER 
PURPLE_SUBTYPE_SAVEDSTATUS 
PURPLE_SUBTYPE_XMLNODE 
PURPLE_SUBTYPE_USERINFO 
PURPLE_SUBTYPE_STORED_IMAGE 

Definition at line 60 of file value.h.

enum PurpleType

Specific value types.

Enumerator:
PURPLE_TYPE_UNKNOWN  Unknown type.

PURPLE_TYPE_SUBTYPE  Subtype.

PURPLE_TYPE_CHAR  Character.

PURPLE_TYPE_UCHAR  Unsigned character.

PURPLE_TYPE_BOOLEAN  Boolean.

PURPLE_TYPE_SHORT  Short integer.

PURPLE_TYPE_USHORT  Unsigned short integer.

PURPLE_TYPE_INT  Integer.

PURPLE_TYPE_UINT  Unsigned integer.

PURPLE_TYPE_LONG  Long integer.

PURPLE_TYPE_ULONG  Unsigned long integer.

PURPLE_TYPE_INT64  64-bit integer.

PURPLE_TYPE_UINT64  64-bit unsigned integer.

PURPLE_TYPE_STRING  String.

PURPLE_TYPE_OBJECT  Object pointer.

PURPLE_TYPE_POINTER  Generic pointer.

PURPLE_TYPE_ENUM  Enum.

PURPLE_TYPE_BOXED  Boxed pointer with specific type.

Definition at line 33 of file value.h.


Function Documentation

void purple_value_destroy ( PurpleValue value  ) 

Destroys a PurpleValue.

Parameters:
value The value to destroy.

PurpleValue* purple_value_dup ( const PurpleValue value  ) 

Duplicated a PurpleValue.

Parameters:
value The value to duplicate.
Returns:
The duplicate value.

gboolean purple_value_get_boolean ( const PurpleValue value  ) 

Returns the value's boolean data.

Parameters:
value The value.
Returns:
The boolean data.

void* purple_value_get_boxed ( const PurpleValue value  ) 

Returns the value's boxed data.

Parameters:
value The value.
Returns:
The boxed data.

char purple_value_get_char ( const PurpleValue value  ) 

Returns the value's character data.

Parameters:
value The value.
Returns:
The character data.

int purple_value_get_enum ( const PurpleValue value  ) 

Returns the value's enum data.

Parameters:
value The value.
Returns:
The enum data.

int purple_value_get_int ( const PurpleValue value  ) 

Returns the value's integer data.

Parameters:
value The value.
Returns:
The integer data.

gint64 purple_value_get_int64 ( const PurpleValue value  ) 

Returns the value's 64-bit integer data.

Parameters:
value The value.
Returns:
The 64-bit integer data.

long purple_value_get_long ( const PurpleValue value  ) 

Returns the value's long integer data.

Parameters:
value The value.
Returns:
The long integer data.

void* purple_value_get_object ( const PurpleValue value  ) 

Returns the value's object data.

Parameters:
value The value.
Returns:
The object data.

void* purple_value_get_pointer ( const PurpleValue value  ) 

Returns the value's pointer data.

Parameters:
value The value.
Returns:
The pointer data.

short purple_value_get_short ( const PurpleValue value  ) 

Returns the value's short integer data.

Parameters:
value The value.
Returns:
The short integer data.

const char* purple_value_get_specific_type ( const PurpleValue value  ) 

Returns a value's specific type.

If the value's type is not PURPLE_TYPE_BOXED, this will return NULL.

Parameters:
value The value whose specific type you want.
Returns:
The value's specific type, or NULL if not PURPLE_TYPE_BOXED.

const char* purple_value_get_string ( const PurpleValue value  ) 

Returns the value's string data.

Parameters:
value The value.
Returns:
The string data.

unsigned int purple_value_get_subtype ( const PurpleValue value  ) 

Returns a value's subtype.

If the value's type is not PURPLE_TYPE_SUBTYPE, this will return 0. Subtypes should never have a subtype of 0.

Parameters:
value The value whose subtype you want.
Returns:
The value's subtype, or 0 if type is not PURPLE_TYPE_SUBTYPE.

PurpleType purple_value_get_type ( const PurpleValue value  ) 

Returns a value's type.

Parameters:
value The value whose type you want.
Returns:
The value's type.

unsigned char purple_value_get_uchar ( const PurpleValue value  ) 

Returns the value's unsigned character data.

Parameters:
value The value.
Returns:
The unsigned character data.

unsigned int purple_value_get_uint ( const PurpleValue value  ) 

Returns the value's unsigned integer data.

Parameters:
value The value.
Returns:
The unsigned integer data.

guint64 purple_value_get_uint64 ( const PurpleValue value  ) 

Returns the value's unsigned 64-bit integer data.

Parameters:
value The value.
Returns:
The unsigned 64-bit integer data.

unsigned long purple_value_get_ulong ( const PurpleValue value  ) 

Returns the value's unsigned long integer data.

Parameters:
value The value.
Returns:
The unsigned long integer data.

unsigned short purple_value_get_ushort ( const PurpleValue value  ) 

Returns the value's unsigned short integer data.

Parameters:
value The value.
Returns:
The unsigned short integer data.

gboolean purple_value_is_outgoing ( const PurpleValue value  ) 

Returns whether or not the value is an outgoing value.

Parameters:
value The value.
Returns:
TRUE if the value is outgoing, or FALSE otherwise.

PurpleValue* purple_value_new ( PurpleType  type,
  ... 
)

Creates a new PurpleValue.

This function takes a type and, depending on that type, a sub-type or specific type.

If type is PURPLE_TYPE_BOXED, the next parameter must be a string representing the specific type.

If type is PURPLE_TYPE_SUBTYPE, the next parameter must be a integer or enum representing the sub-type.

If the subtype or specific type is not set when required, random errors may occur. You have been warned.

Parameters:
type The type.
Returns:
The new value.

PurpleValue* purple_value_new_outgoing ( PurpleType  type,
  ... 
)

Creates a new outgoing PurpleValue.

If a value is an "outgoing" value it means the value can be modified by plugins and scripts.

This function takes a type and, depending on that type, a sub-type or specific type.

If type is PURPLE_TYPE_BOXED, the next parameter must be a string representing the specific type.

If type is PURPLE_TYPE_SUBTYPE, the next parameter must be a integer or enum representing the sub-type.

If the sub-type or specific type is not set when required, random errors may occur. You have been warned.

Parameters:
type The type.
Returns:
The new value.

void purple_value_set_boolean ( PurpleValue value,
gboolean  data 
)

Sets the value's boolean data.

Parameters:
value The value.
data The boolean data.

void purple_value_set_boxed ( PurpleValue value,
void *  data 
)

Sets the value's boxed data.

Parameters:
value The value.
data The boxed data.

void purple_value_set_char ( PurpleValue value,
char  data 
)

Sets the value's character data.

Parameters:
value The value.
data The character data.

void purple_value_set_enum ( PurpleValue value,
int  data 
)

Sets the value's enum data.

Parameters:
value The value.
data The enum data.

void purple_value_set_int ( PurpleValue value,
int  data 
)

Sets the value's integer data.

Parameters:
value The value.
data The integer data.

void purple_value_set_int64 ( PurpleValue value,
gint64  data 
)

Sets the value's 64-bit integer data.

Parameters:
value The value.
data The 64-bit integer data.

void purple_value_set_long ( PurpleValue value,
long  data 
)

Sets the value's long integer data.

Parameters:
value The value.
data The long integer data.

void purple_value_set_object ( PurpleValue value,
void *  data 
)

Sets the value's object data.

Parameters:
value The value.
data The object data.

void purple_value_set_pointer ( PurpleValue value,
void *  data 
)

Sets the value's pointer data.

Parameters:
value The value.
data The pointer data.

void purple_value_set_short ( PurpleValue value,
short  data 
)

Sets the value's short integer data.

Parameters:
value The value.
data The short integer data.

void purple_value_set_string ( PurpleValue value,
const char *  data 
)

Sets the value's string data.

Parameters:
value The value.
data The string data.

void purple_value_set_uchar ( PurpleValue value,
unsigned char  data 
)

Sets the value's unsigned character data.

Parameters:
value The value.
data The unsigned character data.

void purple_value_set_uint ( PurpleValue value,
unsigned int  data 
)

Sets the value's unsigned integer data.

Parameters:
value The value.
data The unsigned integer data.

void purple_value_set_uint64 ( PurpleValue value,
guint64  data 
)

Sets the value's unsigned 64-bit integer data.

Parameters:
value The value.
data The unsigned 64-bit integer data.

void purple_value_set_ulong ( PurpleValue value,
unsigned long  data 
)

Sets the value's unsigned long integer data.

Parameters:
value The value.
data The unsigned long integer data.

void purple_value_set_ushort ( PurpleValue value,
unsigned short  data 
)

Sets the value's unsigned short integer data.

Parameters:
value The value.
data The unsigned short integer data.