/home/dko/Projects/mobilec/trunk/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_request_list
 STRUCT (df_search_results, char **agent_names;char **service_names;int *agent_ids;int num_results;) STRUCT(df_request_search
 STRUCT (df_node, MUTEX_T *lock;int agent_id;char *agent_name;int num_services;char **service_names;enum service_types_e service_types;) STRUCT(df
 STRUCT (df_deregister, int agent_id;char *service_name;) int df_Add(struct df_s *df
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 (df_request_list_p df_request_list)
df_request_list_p df_request_list_New (void)
df_request_list_node_p df_request_list_Pop (df_request_list_p requests)
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

MUTEX_T * lock
COND_T * cond
int size
list_p request_list
char * search_string
df_search_results_p search_results
struct mc_platform_smc_platform
list_p service_list
int num_entries
int waiting
MUTEX_T * waiting_lock
COND_T * waiting_cond
THREAD_T thread
struct df_node_s * node

Define Documentation

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

Definition at line 193 of file df.h.

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

Definition at line 193 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_AddRequest ( struct df_s *  df,
struct df_request_list_node_s *  node 
)

Definition at line 66 of file df.c.

References ListAdd(), and SIGNAL.

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 414 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 134 of file df.c.

References mc_platform_s::df, df_request_list_Pop(), MC_ERR_EMPTY, and MC_ERR_INVALID.

Referenced by df_Thread().

int df_request_list_Destroy ( df_request_list_p  df_request_list  ) 

Definition at line 323 of file df.c.

References df_request_list_node_Destroy(), ListPop(), ListTerminate(), MC_SUCCESS, and node.

Referenced by df_Destroy().

df_request_list_p df_request_list_New ( void   ) 

Definition at line 345 of file df.c.

References CHECK_NULL, COND_INIT, COND_T, ListInitialize(), MUTEX_INIT, and MUTEX_T.

Referenced by df_Initialize().

int df_request_list_node_Destroy ( df_request_list_node_p  node  ) 

Definition at line 294 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 305 of file df.c.

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

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

df_request_list_node_p df_request_list_Pop ( df_request_list_p  requests  ) 

Definition at line 370 of file df.c.

References ListPop(), MUTEX_LOCK, MUTEX_UNLOCK, and node.

Referenced by df_ProcessRequest().

int df_request_search_Destroy ( df_request_search_p  node  ) 

Definition at line 401 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 386 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_deregister  ,
int agent_id;char *service_name;   
)
STRUCT ( df_node  ,
MUTEX_T *lock;int agent_id;char *agent_name;int num_services;char **service_names;enum service_types_e service_types;   
)
STRUCT ( df_search_results  ,
char **agent_names;char **service_names;int *agent_ids;int num_results;   
)
STRUCT ( df_request_list_node  ,
MUTEX_T *lock;COND_T *cond;const char *command;void *data;int data_size;   
)

Variable Documentation

COND_T * cond

Definition at line 74 of file df.h.

MUTEX_T * lock

Definition at line 73 of file df.h.

struct df_node_s* node

Definition at line 113 of file df.h.

df_request_list_p request_list

Definition at line 76 of file df.h.

df_search_results_p search_results

Definition at line 91 of file df.h.

Definition at line 90 of file df.h.

Definition at line 110 of file df.h.

THREAD_T thread

Definition at line 117 of file df.h.

Definition at line 114 of file df.h.

COND_T* waiting_cond

Definition at line 116 of file df.h.

MUTEX_T* waiting_lock

Definition at line 115 of file df.h.


Generated on Tue Jun 22 11:11:40 2010 for Mobile-C by  doxygen 1.6.1