/home/dko/Projects/mobilec/src/include/df.h File Reference

#include "../mc_list/list.h"
#include "../include/macros.h"
#include "df_request.x.h"

Go to the source code of this file.

Defines

#define REQUEST(name, string, description)   REQUEST_##name,
#define REQUEST(name, string, description)   int request_handler_##name (struct mc_platform_s *global, void* data);

Enumerations

enum  df_request_list_index_e
enum  service_types_e {
  ZERO, MISC, INSERT, SOME,
  TYPES, HERE
}

Functions

 REQUEST (SUBSCRIBE,"subscribe","Subscribe to a directory facilitator") REQUEST(REGISTER
Register services with the
directory facilitator 
REQUEST (DEREGISTER,"deregister","Deregisters mobile agent services from a directory facilitator.") REQUEST(SEARCH
 STRUCT (df_request_list_node, MUTEX_T *lock;COND_T *cond;const char *command;void *data;int data_size;) STRUCT(df_search_results
 STRUCT (df_request_search, MUTEX_T *lock;COND_T *cond;char *search_string;df_search_results_p search_results;) STRUCT(df_node
 STRUCT (df, struct mc_platform_s *mc_platform;MUTEX_T *lock;COND_T *cond;list_p service_list;list_p request_list;int num_entries;int waiting;MUTEX_T *waiting_lock;COND_T *waiting_cond;THREAD_T thread;) STRUCT(df_deregister
int df_Add (struct df_s *df, struct df_node_s *node)
int df_AddRequest (struct df_s *df, struct df_request_list_node_s *node)
int df_Destroy (df_p df)
df_p df_Initialize (struct mc_platform_s *mc_platform)
int df_ProcessRequest (struct mc_platform_s *global)
int df_SearchForService (df_p df, const char *searchstring, char ***agent_names, char ***service_names, int **agent_ids, int *num_entries)
void df_Start (struct mc_platform_s *mc_platform)
int df_node_Destroy (df_node_p df_node)
int df_request_list_node_Destroy (df_request_list_node_p node)
df_request_list_node_p df_request_list_node_New (void)
int df_request_list_Destroy (list_t *df_request_list)
df_request_search_p df_request_search_New (void)
int df_request_search_Destroy (df_request_search_p node)
void * df_Thread (void *arg)

Variables

char ** agent_names
char ** service_names
int * agent_ids
int num_results
MUTEX_T * lock
int agent_id
char * agent_name
int num_services
enum service_types_e service_types
char * service_name

Define Documentation

#define REQUEST ( name,
string,
description   )     int request_handler_##name (struct mc_platform_s *global, void* data);

Definition at line 179 of file df.h.

#define REQUEST ( name,
string,
description   )     REQUEST_##name,

Definition at line 179 of file df.h.


Enumeration Type Documentation

Definition at line 46 of file df.h.

Enumerator:
ZERO 
MISC 
INSERT 
SOME 
TYPES 
HERE 

Definition at line 53 of file df.h.


Function Documentation

int df_Add ( struct df_s *  df,
struct df_node_s *  node 
)

Definition at line 50 of file df.c.

References ListAdd(), ListWRLock(), ListWRUnlock(), and MC_SUCCESS.

Referenced by request_handler_REGISTER().

int df_AddRequest ( struct df_s *  df,
struct df_request_list_node_s *  node 
)

Definition at line 62 of file df.c.

References ListAdd(), ListWRLock(), and ListWRUnlock().

Referenced by MC_DeregisterService(), MC_RegisterService(), and MC_SearchForService().

int df_Destroy ( df_p  df  ) 
df_p df_Initialize ( struct mc_platform_s mc_platform  ) 
int df_node_Destroy ( df_node_p  df_node  ) 

Definition at line 372 of file df.c.

References MC_SUCCESS, and MUTEX_LOCK.

Referenced by df_Destroy().

int df_ProcessRequest ( struct mc_platform_s global  ) 

Definition at line 128 of file df.c.

References mc_platform_s::df, ListPop(), ListWRLock(), ListWRUnlock(), MC_ERR_EMPTY, and MC_ERR_INVALID.

Referenced by df_Thread().

int df_request_list_Destroy ( list_t df_request_list  ) 

Definition at line 320 of file df.c.

References df_request_list_node_Destroy(), ListPop(), ListTerminate(), ListWRLock(), ListWRUnlock(), and MC_SUCCESS.

Referenced by df_Destroy().

int df_request_list_node_Destroy ( df_request_list_node_p  node  ) 

Definition at line 291 of file df.c.

References COND_DESTROY, MC_SUCCESS, and MUTEX_DESTROY.

Referenced by df_request_list_Destroy(), and MC_SearchForService().

df_request_list_node_p df_request_list_node_New ( void   ) 

Definition at line 302 of file df.c.

References CHECK_NULL, COND_INIT, COND_T, MUTEX_INIT, and MUTEX_T.

Referenced by MC_DeregisterService(), MC_RegisterService(), and MC_SearchForService().

int df_request_search_Destroy ( df_request_search_p  node  ) 

Definition at line 359 of file df.c.

References COND_DESTROY, MC_SUCCESS, and MUTEX_DESTROY.

Referenced by MC_SearchForService().

df_request_search_p df_request_search_New ( void   ) 

Definition at line 344 of file df.c.

References CHECK_NULL, COND_INIT, COND_T, MUTEX_INIT, MUTEX_T, and search.

Referenced by MC_SearchForService().

int df_SearchForService ( df_p  df,
const char *  searchstring,
char ***  agent_names,
char ***  service_names,
int **  agent_ids,
int *  num_entries 
)
void df_Start ( struct mc_platform_s mc_platform  ) 
void* df_Thread ( void *  arg  ) 
Register services with the directory facilitator df_request_list_index_e::REQUEST ( DEREGISTER  ,
"deregister"  ,
"Deregisters mobile agent services from a directory facilitator."   
)
Type Constraints
df_request_list_index_e::REQUEST ( SUBSCRIBE  ,
"subscribe"  ,
"Subscribe to a directory facilitator"   
)
STRUCT ( df  ,
struct mc_platform_s *mc_platform;MUTEX_T *lock;COND_T *cond;list_p service_list;list_p request_list;int num_entries;int waiting;MUTEX_T *waiting_lock;COND_T *waiting_cond;THREAD_T thread;   
)
STRUCT ( df_request_search  ,
MUTEX_T *lock;COND_T *cond;char *search_string;df_search_results_p search_results;   
)
STRUCT ( df_request_list_node  ,
MUTEX_T *lock;COND_T *cond;const char *command;void *data;int data_size;   
)

Variable Documentation

int agent_id

Definition at line 90 of file df.h.

int* agent_ids

Definition at line 75 of file df.h.

char* agent_name

Definition at line 91 of file df.h.

char** agent_names

Definition at line 73 of file df.h.

MUTEX_T* lock

Definition at line 88 of file df.h.

Definition at line 76 of file df.h.

Definition at line 93 of file df.h.

Referenced by df_SearchForService().

char* service_name

Definition at line 115 of file df.h.

char ** service_names

Definition at line 74 of file df.h.

Definition at line 95 of file df.h.

Generated on Fri Jun 17 16:59:06 2011 for Mobile-C by  doxygen 1.6.3