FreeRDP
collections.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
#include <winpr/crt.h>
#include <winpr/synch.h>
#include <winpr/stream.h>

Data Structures

struct  wObject
 
struct  wQueue
 
struct  wStack
 
struct  wArrayList
 
struct  wDictionary
 
struct  wListDictionaryItem
 
struct  wListDictionary
 
struct  wKeyValuePair
 
struct  wReference
 
struct  wReferenceTable
 
struct  wCountdownEvent
 
struct  wHashTable
 
struct  wBufferPoolItem
 
struct  wBufferPool
 
struct  wObjectPool
 
struct  wMessage
 
struct  wMessageQueue
 
struct  wMessagePipe
 
struct  wEventArgs
 
struct  wEventType
 
struct  wPubSub
 
struct  wBipBlock
 
struct  wBipBuffer
 

Macros

#define Queue_Object(_queue)   (&_queue->object)
 
#define Stack_Object(_stack)   (&_stack->object)
 
#define ArrayList_Object(_arrayList)   (&_arrayList->object)
 
#define ListDictionary_KeyObject(_dictionary)   (&_dictionary->objectKey)
 
#define ListDictionary_ValueObject(_dictionary)   (&_dictionary->objectValue)
 
#define ObjectPool_Object(_pool)   (&_pool->object)
 
#define WMQ_QUIT   0xFFFFFFFF
 
#define MAX_EVENT_HANDLERS   32
 
#define EventArgsInit(_event_args, _sender)
 
#define DEFINE_EVENT_HANDLER(_name)   typedef void (*p ## _name ## EventHandler)(void* context, _name ## EventArgs* e)
 
#define DEFINE_EVENT_RAISE(_name)
 
#define DEFINE_EVENT_SUBSCRIBE(_name)
 
#define DEFINE_EVENT_UNSUBSCRIBE(_name)
 
#define DEFINE_EVENT_BEGIN(_name)
 
#define DEFINE_EVENT_END(_name)
 
#define DEFINE_EVENT_ENTRY(_name)   { #_name, { sizeof( _name ## EventArgs), NULL }, 0, { NULL } },
 

Typedefs

typedef void *(* OBJECT_NEW_FN) (void *val)
 
typedef void(* OBJECT_INIT_FN) (void *obj)
 
typedef void(* OBJECT_UNINIT_FN) (void *obj)
 
typedef void(* OBJECT_FREE_FN) (void *obj)
 
typedef BOOL(* OBJECT_EQUALS_FN) (const void *objA, const void *objB)
 
typedef int(* REFERENCE_FREE) (void *context, void *ptr)
 
typedef UINT32(* HASH_TABLE_HASH_FN) (void *key)
 
typedef BOOL(* HASH_TABLE_KEY_COMPARE_FN) (void *key1, void *key2)
 
typedef BOOL(* HASH_TABLE_VALUE_COMPARE_FN) (void *value1, void *value2)
 
typedef void *(* HASH_TABLE_KEY_CLONE_FN) (void *key)
 
typedef void *(* HASH_TABLE_VALUE_CLONE_FN) (void *value)
 
typedef void(* HASH_TABLE_KEY_FREE_FN) (void *key)
 
typedef void(* HASH_TABLE_VALUE_FREE_FN) (void *value)
 
typedef void(* MESSAGE_FREE_FN) (wMessage *message)
 
typedef void(* pEventHandler) (void *context, wEventArgs *e)
 

Functions

WINPR_API int Queue_Count (wQueue *queue)
 
WINPR_API void Queue_Lock (wQueue *queue)
 
WINPR_API void Queue_Unlock (wQueue *queue)
 
WINPR_API HANDLE Queue_Event (wQueue *queue)
 
WINPR_API void Queue_Clear (wQueue *queue)
 
WINPR_API BOOL Queue_Contains (wQueue *queue, void *obj)
 
WINPR_API BOOL Queue_Enqueue (wQueue *queue, void *obj)
 
WINPR_API voidQueue_Dequeue (wQueue *queue)
 
WINPR_API voidQueue_Peek (wQueue *queue)
 
WINPR_API wQueue * Queue_New (BOOL synchronized, int capacity, int growthFactor)
 
WINPR_API void Queue_Free (wQueue *queue)
 
WINPR_API int Stack_Count (wStack *stack)
 
WINPR_API BOOL Stack_IsSynchronized (wStack *stack)
 
WINPR_API void Stack_Clear (wStack *stack)
 
WINPR_API BOOL Stack_Contains (wStack *stack, void *obj)
 
WINPR_API void Stack_Push (wStack *stack, void *obj)
 
WINPR_API voidStack_Pop (wStack *stack)
 
WINPR_API voidStack_Peek (wStack *stack)
 
WINPR_API wStack * Stack_New (BOOL synchronized)
 
WINPR_API void Stack_Free (wStack *stack)
 
WINPR_API int ArrayList_Capacity (wArrayList *arrayList)
 
WINPR_API int ArrayList_Count (wArrayList *arrayList)
 
WINPR_API int ArrayList_Items (wArrayList *arrayList, ULONG_PTR **ppItems)
 
WINPR_API BOOL ArrayList_IsFixedSized (wArrayList *arrayList)
 
WINPR_API BOOL ArrayList_IsReadOnly (wArrayList *arrayList)
 
WINPR_API BOOL ArrayList_IsSynchronized (wArrayList *arrayList)
 
WINPR_API void ArrayList_Lock (wArrayList *arrayList)
 
WINPR_API void ArrayList_Unlock (wArrayList *arrayList)
 
WINPR_API voidArrayList_GetItem (wArrayList *arrayList, int index)
 
WINPR_API void ArrayList_SetItem (wArrayList *arrayList, int index, void *obj)
 
WINPR_API void ArrayList_Clear (wArrayList *arrayList)
 
WINPR_API BOOL ArrayList_Contains (wArrayList *arrayList, void *obj)
 
WINPR_API int ArrayList_Add (wArrayList *arrayList, void *obj)
 
WINPR_API BOOL ArrayList_Insert (wArrayList *arrayList, int index, void *obj)
 
WINPR_API BOOL ArrayList_Remove (wArrayList *arrayList, void *obj)
 
WINPR_API BOOL ArrayList_RemoveAt (wArrayList *arrayList, int index)
 
WINPR_API int ArrayList_IndexOf (wArrayList *arrayList, void *obj, int startIndex, int count)
 
WINPR_API int ArrayList_LastIndexOf (wArrayList *arrayList, void *obj, int startIndex, int count)
 
WINPR_API wArrayList * ArrayList_New (BOOL synchronized)
 
WINPR_API void ArrayList_Free (wArrayList *arrayList)
 
WINPR_API int ListDictionary_Count (wListDictionary *listDictionary)
 
WINPR_API void ListDictionary_Lock (wListDictionary *listDictionary)
 
WINPR_API void ListDictionary_Unlock (wListDictionary *listDictionary)
 
WINPR_API BOOL ListDictionary_Add (wListDictionary *listDictionary, const void *key, void *value)
 
WINPR_API voidListDictionary_Remove (wListDictionary *listDictionary, const void *key)
 
WINPR_API voidListDictionary_Remove_Head (wListDictionary *listDictionary)
 
WINPR_API void ListDictionary_Clear (wListDictionary *listDictionary)
 
WINPR_API BOOL ListDictionary_Contains (wListDictionary *listDictionary, const void *key)
 
WINPR_API int ListDictionary_GetKeys (wListDictionary *listDictionary, ULONG_PTR **ppKeys)
 
WINPR_API voidListDictionary_GetItemValue (wListDictionary *listDictionary, const void *key)
 
WINPR_API BOOL ListDictionary_SetItemValue (wListDictionary *listDictionary, const void *key, void *value)
 
WINPR_API wListDictionary * ListDictionary_New (BOOL synchronized)
 
WINPR_API void ListDictionary_Free (wListDictionary *listDictionary)
 
WINPR_API int LinkedList_Count (wLinkedList *list)
 
WINPR_API voidLinkedList_First (wLinkedList *list)
 
WINPR_API voidLinkedList_Last (wLinkedList *list)
 
WINPR_API BOOL LinkedList_Contains (wLinkedList *list, void *value)
 
WINPR_API void LinkedList_Clear (wLinkedList *list)
 
WINPR_API BOOL LinkedList_AddFirst (wLinkedList *list, void *value)
 
WINPR_API BOOL LinkedList_AddLast (wLinkedList *list, void *value)
 
WINPR_API BOOL LinkedList_Remove (wLinkedList *list, void *value)
 
WINPR_API void LinkedList_RemoveFirst (wLinkedList *list)
 
WINPR_API void LinkedList_RemoveLast (wLinkedList *list)
 
WINPR_API void LinkedList_Enumerator_Reset (wLinkedList *list)
 
WINPR_API voidLinkedList_Enumerator_Current (wLinkedList *list)
 
WINPR_API BOOL LinkedList_Enumerator_MoveNext (wLinkedList *list)
 
WINPR_API wLinkedList * LinkedList_New (void)
 
WINPR_API void LinkedList_Free (wLinkedList *list)
 
WINPR_API wObject * LinkedList_Object (wLinkedList *list)
 
WINPR_API UINT32 ReferenceTable_Add (wReferenceTable *referenceTable, void *ptr)
 
WINPR_API UINT32 ReferenceTable_Release (wReferenceTable *referenceTable, void *ptr)
 
WINPR_API wReferenceTable * ReferenceTable_New (BOOL synchronized, void *context, REFERENCE_FREE ReferenceFree)
 
WINPR_API void ReferenceTable_Free (wReferenceTable *referenceTable)
 
WINPR_API DWORD CountdownEvent_CurrentCount (wCountdownEvent *countdown)
 
WINPR_API DWORD CountdownEvent_InitialCount (wCountdownEvent *countdown)
 
WINPR_API BOOL CountdownEvent_IsSet (wCountdownEvent *countdown)
 
WINPR_API HANDLE CountdownEvent_WaitHandle (wCountdownEvent *countdown)
 
WINPR_API void CountdownEvent_AddCount (wCountdownEvent *countdown, DWORD signalCount)
 
WINPR_API BOOL CountdownEvent_Signal (wCountdownEvent *countdown, DWORD signalCount)
 
WINPR_API void CountdownEvent_Reset (wCountdownEvent *countdown, DWORD count)
 
WINPR_API wCountdownEvent * CountdownEvent_New (DWORD initialCount)
 
WINPR_API void CountdownEvent_Free (wCountdownEvent *countdown)
 
WINPR_API int HashTable_Count (wHashTable *table)
 
WINPR_API int HashTable_Add (wHashTable *table, void *key, void *value)
 
WINPR_API BOOL HashTable_Remove (wHashTable *table, void *key)
 
WINPR_API void HashTable_Clear (wHashTable *table)
 
WINPR_API BOOL HashTable_Contains (wHashTable *table, void *key)
 
WINPR_API BOOL HashTable_ContainsKey (wHashTable *table, void *key)
 
WINPR_API BOOL HashTable_ContainsValue (wHashTable *table, void *value)
 
WINPR_API voidHashTable_GetItemValue (wHashTable *table, void *key)
 
WINPR_API BOOL HashTable_SetItemValue (wHashTable *table, void *key, void *value)
 
WINPR_API int HashTable_GetKeys (wHashTable *table, ULONG_PTR **ppKeys)
 
WINPR_API UINT32 HashTable_PointerHash (void *pointer)
 
WINPR_API BOOL HashTable_PointerCompare (void *pointer1, void *pointer2)
 
WINPR_API UINT32 HashTable_StringHash (void *key)
 
WINPR_API BOOL HashTable_StringCompare (void *string1, void *string2)
 
WINPR_API voidHashTable_StringClone (void *str)
 
WINPR_API void HashTable_StringFree (void *str)
 
WINPR_API wHashTable * HashTable_New (BOOL synchronized)
 
WINPR_API void HashTable_Free (wHashTable *table)
 
WINPR_API int BufferPool_GetPoolSize (wBufferPool *pool)
 
WINPR_API int BufferPool_GetBufferSize (wBufferPool *pool, void *buffer)
 
WINPR_API voidBufferPool_Take (wBufferPool *pool, int bufferSize)
 
WINPR_API BOOL BufferPool_Return (wBufferPool *pool, void *buffer)
 
WINPR_API void BufferPool_Clear (wBufferPool *pool)
 
WINPR_API wBufferPool * BufferPool_New (BOOL synchronized, int fixedSize, DWORD alignment)
 
WINPR_API void BufferPool_Free (wBufferPool *pool)
 
WINPR_API voidObjectPool_Take (wObjectPool *pool)
 
WINPR_API void ObjectPool_Return (wObjectPool *pool, void *obj)
 
WINPR_API void ObjectPool_Clear (wObjectPool *pool)
 
WINPR_API wObjectPool * ObjectPool_New (BOOL synchronized)
 
WINPR_API void ObjectPool_Free (wObjectPool *pool)
 
WINPR_API HANDLE MessageQueue_Event (wMessageQueue *queue)
 
WINPR_API BOOL MessageQueue_Wait (wMessageQueue *queue)
 
WINPR_API int MessageQueue_Size (wMessageQueue *queue)
 
WINPR_API BOOL MessageQueue_Dispatch (wMessageQueue *queue, wMessage *message)
 
WINPR_API BOOL MessageQueue_Post (wMessageQueue *queue, void *context, UINT32 type, void *wParam, void *lParam)
 
WINPR_API BOOL MessageQueue_PostQuit (wMessageQueue *queue, int nExitCode)
 
WINPR_API int MessageQueue_Get (wMessageQueue *queue, wMessage *message)
 
WINPR_API int MessageQueue_Peek (wMessageQueue *queue, wMessage *message, BOOL remove)
 
WINPR_API int MessageQueue_Clear (wMessageQueue *queue)
 Clears all elements in a message queue. More...
 
WINPR_API wMessageQueue * MessageQueue_New (const wObject *callback)
 Creates a new message queue. If 'callback' is null, no custom cleanup will be done on message queue deallocation. If the 'callback' argument contains valid uninit or free functions those will be called by 'MessageQueue_Clear'. More...
 
WINPR_API void MessageQueue_Free (wMessageQueue *queue)
 Frees resources allocated by a message queue. This function will only free resources allocated internally. More...
 
WINPR_API void MessagePipe_PostQuit (wMessagePipe *pipe, int nExitCode)
 
WINPR_API wMessagePipe * MessagePipe_New (void)
 
WINPR_API void MessagePipe_Free (wMessagePipe *pipe)
 
WINPR_API void PubSub_Lock (wPubSub *pubSub)
 
WINPR_API void PubSub_Unlock (wPubSub *pubSub)
 
WINPR_API wEventType * PubSub_GetEventTypes (wPubSub *pubSub, int *count)
 
WINPR_API void PubSub_AddEventTypes (wPubSub *pubSub, wEventType *events, int count)
 
WINPR_API wEventType * PubSub_FindEventType (wPubSub *pubSub, const char *EventName)
 
WINPR_API int PubSub_Subscribe (wPubSub *pubSub, const char *EventName, pEventHandler EventHandler)
 
WINPR_API int PubSub_Unsubscribe (wPubSub *pubSub, const char *EventName, pEventHandler EventHandler)
 
WINPR_API int PubSub_OnEvent (wPubSub *pubSub, const char *EventName, void *context, wEventArgs *e)
 
WINPR_API wPubSub * PubSub_New (BOOL synchronized)
 
WINPR_API void PubSub_Free (wPubSub *pubSub)
 
WINPR_API BOOL BipBuffer_Grow (wBipBuffer *bb, size_t size)
 
WINPR_API void BipBuffer_Clear (wBipBuffer *bb)
 
WINPR_API size_t BipBuffer_UsedSize (wBipBuffer *bb)
 
WINPR_API size_t BipBuffer_BufferSize (wBipBuffer *bb)
 
WINPR_API BYTEBipBuffer_WriteReserve (wBipBuffer *bb, size_t size)
 
WINPR_API BYTEBipBuffer_WriteTryReserve (wBipBuffer *bb, size_t size, size_t *reserved)
 
WINPR_API void BipBuffer_WriteCommit (wBipBuffer *bb, size_t size)
 
WINPR_API BYTEBipBuffer_ReadReserve (wBipBuffer *bb, size_t size)
 
WINPR_API BYTEBipBuffer_ReadTryReserve (wBipBuffer *bb, size_t size, size_t *reserved)
 
WINPR_API void BipBuffer_ReadCommit (wBipBuffer *bb, size_t size)
 
WINPR_API int BipBuffer_Read (wBipBuffer *bb, BYTE *data, size_t size)
 
WINPR_API int BipBuffer_Write (wBipBuffer *bb, BYTE *data, size_t size)
 
WINPR_API wBipBuffer * BipBuffer_New (size_t size)
 
WINPR_API void BipBuffer_Free (wBipBuffer *bb)
 

Macro Definition Documentation

#define ArrayList_Object (   _arrayList)    (&_arrayList->object)
#define DEFINE_EVENT_BEGIN (   _name)
Value:
typedef struct _ ## _name ## EventArgs { \
wEventArgs e;
#define DEFINE_EVENT_END (   _name)
Value:
} _name ## EventArgs; \
#define DEFINE_EVENT_HANDLER(_name)
Definition: collections.h:555
#define DEFINE_EVENT_UNSUBSCRIBE(_name)
Definition: collections.h:566
#define DEFINE_EVENT_RAISE(_name)
Definition: collections.h:558
#define DEFINE_EVENT_SUBSCRIBE(_name)
Definition: collections.h:562
#define DEFINE_EVENT_ENTRY (   _name)    { #_name, { sizeof( _name ## EventArgs), NULL }, 0, { NULL } },
#define DEFINE_EVENT_HANDLER (   _name)    typedef void (*p ## _name ## EventHandler)(void* context, _name ## EventArgs* e)
#define DEFINE_EVENT_RAISE (   _name)
Value:
static INLINE int PubSub_On ## _name (wPubSub* pubSub, void* context, _name ## EventArgs* e) { \
return PubSub_OnEvent(pubSub, #_name, context, (wEventArgs*) e); }
return(void *)((char *) buffer-> buffer+buffer->tail)
WINPR_API int PubSub_OnEvent(wPubSub *pubSub, const char *EventName, void *context, wEventArgs *e)
Definition: PubSub.c:166
#define INLINE
Definition: include/freerdp/api.h:34
#define DEFINE_EVENT_SUBSCRIBE (   _name)
Value:
static INLINE int PubSub_Subscribe ## _name (wPubSub* pubSub, p ## _name ## EventHandler EventHandler) { \
return PubSub_Subscribe(pubSub, #_name, (pEventHandler) EventHandler); }
return(void *)((char *) buffer-> buffer+buffer->tail)
WINPR_API int PubSub_Subscribe(wPubSub *pubSub, const char *EventName, pEventHandler EventHandler)
Definition: PubSub.c:101
void(* pEventHandler)(void *context, wEventArgs *e)
Definition: collections.h:537
#define INLINE
Definition: include/freerdp/api.h:34
#define DEFINE_EVENT_UNSUBSCRIBE (   _name)
Value:
static INLINE int PubSub_Unsubscribe ## _name (wPubSub* pubSub, p ## _name ## EventHandler EventHandler) { \
return PubSub_Unsubscribe(pubSub, #_name, (pEventHandler) EventHandler); }
WINPR_API int PubSub_Unsubscribe(wPubSub *pubSub, const char *EventName, pEventHandler EventHandler)
Definition: PubSub.c:132
return(void *)((char *) buffer-> buffer+buffer->tail)
void(* pEventHandler)(void *context, wEventArgs *e)
Definition: collections.h:537
#define INLINE
Definition: include/freerdp/api.h:34
#define EventArgsInit (   _event_args,
  _sender 
)
Value:
memset(_event_args, 0, sizeof(*_event_args)); \
((wEventArgs*) _event_args)->Size = sizeof(*_event_args); \
((wEventArgs*) _event_args)->Sender = _sender
#define ListDictionary_KeyObject (   _dictionary)    (&_dictionary->objectKey)
#define ListDictionary_ValueObject (   _dictionary)    (&_dictionary->objectValue)
#define MAX_EVENT_HANDLERS   32
#define ObjectPool_Object (   _pool)    (&_pool->object)
#define Queue_Object (   _queue)    (&_queue->object)
#define Stack_Object (   _stack)    (&_stack->object)
#define WMQ_QUIT   0xFFFFFFFF

Typedef Documentation

typedef UINT32(* HASH_TABLE_HASH_FN) (void *key)
typedef void*(* HASH_TABLE_KEY_CLONE_FN) (void *key)
typedef BOOL(* HASH_TABLE_KEY_COMPARE_FN) (void *key1, void *key2)
typedef void(* HASH_TABLE_KEY_FREE_FN) (void *key)
typedef void*(* HASH_TABLE_VALUE_CLONE_FN) (void *value)
typedef BOOL(* HASH_TABLE_VALUE_COMPARE_FN) (void *value1, void *value2)
typedef void(* HASH_TABLE_VALUE_FREE_FN) (void *value)
typedef void(* MESSAGE_FREE_FN) (wMessage *message)
typedef BOOL(* OBJECT_EQUALS_FN) (const void *objA, const void *objB)
typedef void(* OBJECT_FREE_FN) (void *obj)
typedef void(* OBJECT_INIT_FN) (void *obj)
typedef void*(* OBJECT_NEW_FN) (void *val)

WinPR: Windows Portable Runtime Collections

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

typedef void(* OBJECT_UNINIT_FN) (void *obj)
typedef void(* pEventHandler) (void *context, wEventArgs *e)
typedef int(* REFERENCE_FREE) (void *context, void *ptr)

Function Documentation

WINPR_API int ArrayList_Add ( wArrayList *  arrayList,
void obj 
)

Adds an object to the end of the ArrayList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int ArrayList_Capacity ( wArrayList *  arrayList)

WinPR: Windows Portable Runtime System.Collections.ArrayList

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C equivalent of the C# ArrayList Class: http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx Properties Gets or sets the number of elements that the ArrayList can contain.

WINPR_API void ArrayList_Clear ( wArrayList *  arrayList)

Removes all elements from the ArrayList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ArrayList_Contains ( wArrayList *  arrayList,
void obj 
)

Determines whether an element is in the ArrayList.

Here is the call graph for this function:

WINPR_API int ArrayList_Count ( wArrayList *  arrayList)

Gets the number of elements actually contained in the ArrayList.

Here is the caller graph for this function:

WINPR_API void ArrayList_Free ( wArrayList *  arrayList)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* ArrayList_GetItem ( wArrayList *  arrayList,
int  index 
)

Gets the element at the specified index.

Here is the caller graph for this function:

WINPR_API int ArrayList_IndexOf ( wArrayList *  arrayList,
void obj,
int  startIndex,
int  count 
)

Searches for the specified Object and returns the zero-based index of the first occurrence within the entire ArrayList.

Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that extends from the first element to the specified index.

Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that contains the specified number of elements and ends at the specified index.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ArrayList_Insert ( wArrayList *  arrayList,
int  index,
void obj 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ArrayList_IsFixedSized ( wArrayList *  arrayList)

Gets a value indicating whether the ArrayList has a fixed size.

WINPR_API BOOL ArrayList_IsReadOnly ( wArrayList *  arrayList)

Gets a value indicating whether the ArrayList is read-only.

WINPR_API BOOL ArrayList_IsSynchronized ( wArrayList *  arrayList)

Gets a value indicating whether access to the ArrayList is synchronized (thread safe).

WINPR_API int ArrayList_Items ( wArrayList *  arrayList,
ULONG_PTR **  ppItems 
)

Gets the internal list of items contained in the ArrayList.

WINPR_API int ArrayList_LastIndexOf ( wArrayList *  arrayList,
void obj,
int  startIndex,
int  count 
)

Searches for the specified Object and returns the zero-based index of the last occurrence within the entire ArrayList.

Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that extends from the first element to the specified index.

Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that contains the specified number of elements and ends at the specified index.

Here is the call graph for this function:

WINPR_API void ArrayList_Lock ( wArrayList *  arrayList)

Lock access to the ArrayList

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wArrayList* ArrayList_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ArrayList_Remove ( wArrayList *  arrayList,
void obj 
)

Removes the first occurrence of a specific object from the ArrayList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ArrayList_RemoveAt ( wArrayList *  arrayList,
int  index 
)

Removes the element at the specified index of the ArrayList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ArrayList_SetItem ( wArrayList *  arrayList,
int  index,
void obj 
)

Sets the element at the specified index.

WINPR_API void ArrayList_Unlock ( wArrayList *  arrayList)

Unlock access to the ArrayList

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API size_t BipBuffer_BufferSize ( wBipBuffer *  bb)

Here is the caller graph for this function:

WINPR_API void BipBuffer_Clear ( wBipBuffer *  bb)

Here is the caller graph for this function:

WINPR_API void BipBuffer_Free ( wBipBuffer *  bb)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL BipBuffer_Grow ( wBipBuffer *  bb,
size_t  size 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wBipBuffer* BipBuffer_New ( size_t  size)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int BipBuffer_Read ( wBipBuffer *  bb,
BYTE data,
size_t  size 
)

Here is the call graph for this function:

WINPR_API void BipBuffer_ReadCommit ( wBipBuffer *  bb,
size_t  size 
)

Here is the caller graph for this function:

WINPR_API BYTE* BipBuffer_ReadReserve ( wBipBuffer *  bb,
size_t  size 
)

Here is the call graph for this function:

WINPR_API BYTE* BipBuffer_ReadTryReserve ( wBipBuffer *  bb,
size_t  size,
size_t *  reserved 
)

Here is the caller graph for this function:

WINPR_API size_t BipBuffer_UsedSize ( wBipBuffer *  bb)

Here is the caller graph for this function:

WINPR_API int BipBuffer_Write ( wBipBuffer *  bb,
BYTE data,
size_t  size 
)

Here is the call graph for this function:

WINPR_API void BipBuffer_WriteCommit ( wBipBuffer *  bb,
size_t  size 
)

Here is the caller graph for this function:

WINPR_API BYTE* BipBuffer_WriteReserve ( wBipBuffer *  bb,
size_t  size 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BYTE* BipBuffer_WriteTryReserve ( wBipBuffer *  bb,
size_t  size,
size_t *  reserved 
)

Here is the caller graph for this function:

WINPR_API void BufferPool_Clear ( wBufferPool *  pool)

Releases the buffers currently cached in the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void BufferPool_Free ( wBufferPool *  pool)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int BufferPool_GetBufferSize ( wBufferPool *  pool,
void buffer 
)

Get the size of a pooled buffer

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int BufferPool_GetPoolSize ( wBufferPool *  pool)

Get the buffer pool size

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wBufferPool* BufferPool_New ( BOOL  synchronized,
int  fixedSize,
DWORD  alignment 
)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL BufferPool_Return ( wBufferPool *  pool,
void buffer 
)

Returns a buffer to the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* BufferPool_Take ( wBufferPool *  pool,
int  size 
)

Gets a buffer of at least the specified size from the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void CountdownEvent_AddCount ( wCountdownEvent *  countdown,
DWORD  signalCount 
)

Methods Increments the CountdownEvent's current count by a specified value.

Here is the call graph for this function:

WINPR_API DWORD CountdownEvent_CurrentCount ( wCountdownEvent *  countdown)

WinPR: Windows Portable Runtime Countdown Event

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C equivalent of the C# CountdownEvent Class http://msdn.microsoft.com/en-us/library/dd235708/ Properties Gets the number of remaining signals required to set the event.

WINPR_API void CountdownEvent_Free ( wCountdownEvent *  countdown)

Here is the call graph for this function:

WINPR_API DWORD CountdownEvent_InitialCount ( wCountdownEvent *  countdown)

Gets the numbers of signals initially required to set the event.

WINPR_API BOOL CountdownEvent_IsSet ( wCountdownEvent *  countdown)

Determines whether the event is set.

Here is the call graph for this function:

WINPR_API wCountdownEvent* CountdownEvent_New ( DWORD  initialCount)

Construction, Destruction

Here is the call graph for this function:

WINPR_API void CountdownEvent_Reset ( wCountdownEvent *  countdown,
DWORD  count 
)

Resets the InitialCount property to a specified value.

WINPR_API BOOL CountdownEvent_Signal ( wCountdownEvent *  countdown,
DWORD  signalCount 
)

Registers multiple signals with the CountdownEvent, decrementing the value of CurrentCount by the specified amount.

Here is the call graph for this function:

WINPR_API HANDLE CountdownEvent_WaitHandle ( wCountdownEvent *  countdown)

Gets a WaitHandle that is used to wait for the event to be set.

WINPR_API int HashTable_Add ( wHashTable *  table,
void key,
void value 
)

Methods Adds an element with the specified key and value into the HashTable.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void HashTable_Clear ( wHashTable *  table)

Removes all elements from the HashTable.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL HashTable_Contains ( wHashTable *  table,
void key 
)

Determines whether the HashTable contains a specific key.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL HashTable_ContainsKey ( wHashTable *  table,
void key 
)

Determines whether the HashTable contains a specific key.

Here is the call graph for this function:

WINPR_API BOOL HashTable_ContainsValue ( wHashTable *  table,
void value 
)

Determines whether the HashTable contains a specific value.

Here is the call graph for this function:

WINPR_API int HashTable_Count ( wHashTable *  table)

C equivalent of the C# Hashtable Class: http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx Properties Gets the number of key/value pairs contained in the HashTable.

Here is the caller graph for this function:

WINPR_API void HashTable_Free ( wHashTable *  table)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* HashTable_GetItemValue ( wHashTable *  table,
void key 
)

Get an item value using key

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int HashTable_GetKeys ( wHashTable *  table,
ULONG_PTR **  ppKeys 
)

Gets the list of keys as an array

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wHashTable* HashTable_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL HashTable_PointerCompare ( void pointer1,
void pointer2 
)

WinPR: Windows Portable Runtime System.Collections.Hashtable

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This implementation is based on the public domain hash table implementation made by Keith Pomakis:

http://www.pomakis.com/hashtable/hashtable.c http://www.pomakis.com/hashtable/hashtable.h

Here is the caller graph for this function:

WINPR_API UINT32 HashTable_PointerHash ( void pointer)

Here is the caller graph for this function:

WINPR_API BOOL HashTable_Remove ( wHashTable *  table,
void key 
)

Removes the element with the specified key from the HashTable.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL HashTable_SetItemValue ( wHashTable *  table,
void key,
void value 
)

Set an item value using key

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* HashTable_StringClone ( void str)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL HashTable_StringCompare ( void string1,
void string2 
)

Here is the caller graph for this function:

WINPR_API void HashTable_StringFree ( void str)

Here is the caller graph for this function:

WINPR_API UINT32 HashTable_StringHash ( void key)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL LinkedList_AddFirst ( wLinkedList *  list,
void value 
)

Adds a new node containing the specified value at the start of the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL LinkedList_AddLast ( wLinkedList *  list,
void value 
)

Adds a new node containing the specified value at the end of the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void LinkedList_Clear ( wLinkedList *  list)

Removes all entries from the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL LinkedList_Contains ( wLinkedList *  list,
void value 
)

Methods Determines whether the LinkedList contains a specific value.

WINPR_API int LinkedList_Count ( wLinkedList *  list)

C equivalent of the C# LinkedList<T> Class: http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx

Internal implementation uses a doubly-linked list Properties Gets the number of nodes actually contained in the LinkedList.

Here is the caller graph for this function:

WINPR_API void* LinkedList_Enumerator_Current ( wLinkedList *  list)

Here is the caller graph for this function:

WINPR_API BOOL LinkedList_Enumerator_MoveNext ( wLinkedList *  list)

Here is the caller graph for this function:

WINPR_API void LinkedList_Enumerator_Reset ( wLinkedList *  list)

Sets the enumerator to its initial position, which is before the first element in the collection.

Here is the caller graph for this function:

WINPR_API void* LinkedList_First ( wLinkedList *  list)

Gets the first node of the LinkedList.

Here is the caller graph for this function:

WINPR_API void LinkedList_Free ( wLinkedList *  list)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* LinkedList_Last ( wLinkedList *  list)

Gets the last node of the LinkedList.

Here is the caller graph for this function:

WINPR_API wLinkedList* LinkedList_New ( void  )

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wObject* LinkedList_Object ( wLinkedList *  list)
WINPR_API BOOL LinkedList_Remove ( wLinkedList *  list,
void value 
)

Removes the first occurrence of the specified value from the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void LinkedList_RemoveFirst ( wLinkedList *  list)

Removes the node at the start of the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void LinkedList_RemoveLast ( wLinkedList *  list)

Removes the node at the end of the LinkedList.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ListDictionary_Add ( wListDictionary *  listDictionary,
const void key,
void value 
)

Adds an entry with the specified key and value into the ListDictionary.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ListDictionary_Clear ( wListDictionary *  listDictionary)

Removes all entries from the ListDictionary.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ListDictionary_Contains ( wListDictionary *  listDictionary,
const void key 
)

Determines whether the ListDictionary contains a specific key.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int ListDictionary_Count ( wListDictionary *  listDictionary)

WinPR: Windows Portable Runtime System.Collections.Specialized.ListDictionary

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C equivalent of the C# ListDictionary Class: http://msdn.microsoft.com/en-us/library/system.collections.specialized.listdictionary.aspx

Internal implementation uses a singly-linked list Properties Gets the number of key/value pairs contained in the ListDictionary.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ListDictionary_Free ( wListDictionary *  listDictionary)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* ListDictionary_GetItemValue ( wListDictionary *  listDictionary,
const void key 
)

Get an item value using key

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int ListDictionary_GetKeys ( wListDictionary *  listDictionary,
ULONG_PTR **  ppKeys 
)

Methods Gets the list of keys as an array

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ListDictionary_Lock ( wListDictionary *  listDictionary)

Lock access to the ListDictionary

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wListDictionary* ListDictionary_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* ListDictionary_Remove ( wListDictionary *  listDictionary,
const void key 
)

Removes the entry with the specified key from the ListDictionary.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* ListDictionary_Remove_Head ( wListDictionary *  listDictionary)

Removes the first (head) entry from the list

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL ListDictionary_SetItemValue ( wListDictionary *  listDictionary,
const void key,
void value 
)

Set an item value using key

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ListDictionary_Unlock ( wListDictionary *  listDictionary)

Unlock access to the ListDictionary

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void MessagePipe_Free ( wMessagePipe *  pipe)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wMessagePipe* MessagePipe_New ( void  )

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void MessagePipe_PostQuit ( wMessagePipe *  pipe,
int  nExitCode 
)

WinPR: Windows Portable Runtime Message Pipe

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Properties Methods

Here is the call graph for this function:

WINPR_API int MessageQueue_Clear ( wMessageQueue *  queue)

Clears all elements in a message queue.

Note
If dynamically allocated data is part of the messages, a custom cleanup handler must be passed in the 'callback' argument for MessageQueue_New.
Parameters
queueThe queue to clear.
Returns
0 in case of success or a error code otherwise.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL MessageQueue_Dispatch ( wMessageQueue *  queue,
wMessage *  message 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API HANDLE MessageQueue_Event ( wMessageQueue *  queue)

WinPR: Windows Portable Runtime Message Queue

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Message Queue inspired from Windows: http://msdn.microsoft.com/en-us/library/ms632590/ Properties Gets an event which is set when the queue is non-empty

Here is the caller graph for this function:

WINPR_API void MessageQueue_Free ( wMessageQueue *  queue)

Frees resources allocated by a message queue. This function will only free resources allocated internally.

Note
Empty the queue before calling this function with 'MessageQueue_Clear', 'MessageQueue_Get' or 'MessageQueue_Peek' to free all resources allocated by the message contained.
Parameters
queueA pointer to the queue to be freed.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int MessageQueue_Get ( wMessageQueue *  queue,
wMessage *  message 
)

Here is the call graph for this function:

WINPR_API wMessageQueue* MessageQueue_New ( const wObject *  callback)

Creates a new message queue. If 'callback' is null, no custom cleanup will be done on message queue deallocation. If the 'callback' argument contains valid uninit or free functions those will be called by 'MessageQueue_Clear'.

Parameters
callbacka pointer to custom initialization / cleanup functions. Can be NULL if not used.
Returns
A pointer to a newly allocated MessageQueue or NULL.

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int MessageQueue_Peek ( wMessageQueue *  queue,
wMessage *  message,
BOOL  remove 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL MessageQueue_Post ( wMessageQueue *  queue,
void context,
UINT32  type,
void wParam,
void lParam 
)

Here is the call graph for this function:

WINPR_API BOOL MessageQueue_PostQuit ( wMessageQueue *  queue,
int  nExitCode 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int MessageQueue_Size ( wMessageQueue *  queue)

Gets the queue size

WINPR_API BOOL MessageQueue_Wait ( wMessageQueue *  queue)

Methods

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ObjectPool_Clear ( wObjectPool *  pool)

Releases the buffers currently cached in the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ObjectPool_Free ( wObjectPool *  pool)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wObjectPool* ObjectPool_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void ObjectPool_Return ( wObjectPool *  pool,
void obj 
)

Returns an object to the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* ObjectPool_Take ( wObjectPool *  pool)

WinPR: Windows Portable Runtime Object Pool

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C Object Pool similar to C# BufferManager Class: http://msdn.microsoft.com/en-us/library/ms405814.aspx Methods Gets an object from the pool.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void PubSub_AddEventTypes ( wPubSub *  pubSub,
wEventType *  events,
int  count 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wEventType* PubSub_FindEventType ( wPubSub *  pubSub,
const char *  EventName 
)

Here is the caller graph for this function:

WINPR_API void PubSub_Free ( wPubSub *  pubSub)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wEventType* PubSub_GetEventTypes ( wPubSub *  pubSub,
int *  count 
)

WinPR: Windows Portable Runtime Publisher/Subscriber Pattern

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Events (C# Programming Guide) http://msdn.microsoft.com/en-us/library/awbftdfh.aspx Properties

WINPR_API void PubSub_Lock ( wPubSub *  pubSub)

Methods

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wPubSub* PubSub_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int PubSub_OnEvent ( wPubSub *  pubSub,
const char *  EventName,
void context,
wEventArgs *  e 
)

Here is the call graph for this function:

WINPR_API int PubSub_Subscribe ( wPubSub *  pubSub,
const char *  EventName,
pEventHandler  EventHandler 
)

Here is the call graph for this function:

WINPR_API void PubSub_Unlock ( wPubSub *  pubSub)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int PubSub_Unsubscribe ( wPubSub *  pubSub,
const char *  EventName,
pEventHandler  EventHandler 
)

Here is the call graph for this function:

WINPR_API void Queue_Clear ( wQueue *  queue)

Methods Removes all objects from the Queue.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL Queue_Contains ( wQueue *  queue,
void obj 
)

Determines whether an element is in the Queue.

Here is the call graph for this function:

WINPR_API int Queue_Count ( wQueue *  queue)

WinPR: Windows Portable Runtime System.Collections.Queue

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C equivalent of the C# Queue Class: http://msdn.microsoft.com/en-us/library/system.collections.queue.aspx Properties Gets the number of elements contained in the Queue.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* Queue_Dequeue ( wQueue *  queue)

Removes and returns the object at the beginning of the Queue.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL Queue_Enqueue ( wQueue *  queue,
void obj 
)

Adds an object to the end of the Queue.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API HANDLE Queue_Event ( wQueue *  queue)

Gets an event which is set when the queue is non-empty

Here is the caller graph for this function:

WINPR_API void Queue_Free ( wQueue *  queue)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void Queue_Lock ( wQueue *  queue)

Lock access to the ArrayList

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API wQueue* Queue_New ( BOOL  synchronized,
int  capacity,
int  growthFactor 
)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* Queue_Peek ( wQueue *  queue)

Returns the object at the beginning of the Queue without removing it.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void Queue_Unlock ( wQueue *  queue)

Unlock access to the ArrayList

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API UINT32 ReferenceTable_Add ( wReferenceTable *  referenceTable,
void ptr 
)

Here is the call graph for this function:

WINPR_API void ReferenceTable_Free ( wReferenceTable *  referenceTable)

Here is the call graph for this function:

WINPR_API wReferenceTable* ReferenceTable_New ( BOOL  synchronized,
void context,
REFERENCE_FREE  ReferenceFree 
)

Here is the call graph for this function:

WINPR_API UINT32 ReferenceTable_Release ( wReferenceTable *  referenceTable,
void ptr 
)

Here is the call graph for this function:

WINPR_API void Stack_Clear ( wStack *  stack)

Methods Removes all objects from the Stack.

Here is the call graph for this function:

WINPR_API BOOL Stack_Contains ( wStack *  stack,
void obj 
)

Determines whether an element is in the Stack.

Here is the call graph for this function:

WINPR_API int Stack_Count ( wStack *  stack)

WinPR: Windows Portable Runtime System.Collections.Stack

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. C equivalent of the C# Stack Class: http://msdn.microsoft.com/en-us/library/system.collections.stack.aspx Properties Gets the number of elements contained in the Stack.

Here is the call graph for this function:

WINPR_API void Stack_Free ( wStack *  stack)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API BOOL Stack_IsSynchronized ( wStack *  stack)

Gets a value indicating whether access to the Stack is synchronized (thread safe).

WINPR_API wStack* Stack_New ( BOOL  synchronized)

Construction, Destruction

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* Stack_Peek ( wStack *  stack)

Returns the object at the top of the Stack without removing it.

Here is the call graph for this function:

WINPR_API void* Stack_Pop ( wStack *  stack)

Removes and returns the object at the top of the Stack.

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void Stack_Push ( wStack *  stack,
void obj 
)

Inserts an object at the top of the Stack.

Here is the call graph for this function:

Here is the caller graph for this function: