#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_s * | mc_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 REQUEST | ( | name, | |||
string, | |||||
description | ) | int request_handler_##name (struct mc_platform_s *global, void* data); |
enum service_types_e |
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 | ) |
Definition at line 83 of file df.c.
References COND_DESTROY, df_node_Destroy(), df_request_list_Destroy(), ListPop(), ListTerminate(), MC_SUCCESS, MUTEX_DESTROY, and MUTEX_LOCK.
Referenced by mc_platform_Destroy().
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 | |||
) |
Definition at line 178 of file df.c.
References MC_ERR_NOT_FOUND, MC_SUCCESS, MUTEX_LOCK, MUTEX_UNLOCK, listNode_s::next, and listNode_s::node_data.
Referenced by request_handler_SEARCH().
void df_Start | ( | struct mc_platform_s * | mc_platform | ) |
void* df_Thread | ( | void * | arg | ) |
Definition at line 428 of file df.c.
References COND_BROADCAST, COND_WAIT, mc_platform_s::df, df_ProcessRequest(), MC_SUCCESS, MUTEX_LOCK, MUTEX_UNLOCK, mc_platform_s::quit, mc_platform_s::quit_lock, and THREAD_EXIT.
Referenced by df_Start().
Register services with the directory facilitator df_request_list_index_e::REQUEST | ( | DEREGISTER | , | |
"deregister" | , | |||
"Deregisters mobile agent services from a directory facilitator." | ||||
) |
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; | ||||
) |
struct mc_platform_s* mc_platform |
Definition at line 107 of file df.h.
Referenced by acc_connection_Thread(), acc_MessageHandlerThread(), acc_Thread(), agent_RunChScriptThread(), ams_Thread(), cmd_prompt_Thread(), listen_Thread(), MC_Initialize(), mc_platform_Initialize(), MC_WaitAgent(), message_send_Thread(), and udplisten_Thread().
struct df_node_s* node |
Definition at line 129 of file df.h.
Referenced by add_variable(), agent_queue_Flush(), agent_xml_compose(), agent_xml_compose__agent_code(), agent_xml_compose__agent_data(), agent_xml_compose__create_row_nodes(), agent_xml_compose__data(), agent_xml_compose__gaf_message(), agent_xml_compose__home(), agent_xml_compose__message(), agent_xml_compose__mobile_agent(), agent_xml_compose__name(), agent_xml_compose__owner(), agent_xml_compose__row(), agent_xml_compose__task(), agent_xml_compose__tasks(), agent_xml_compose__wg_code(), AP_QUEUE_SEARCH_TEMPLATE(), AP_QUEUE_STD_DEFN_TEMPLATE(), barrier_node_Initialize(), barrier_queue_Destroy(), barrier_queue_Pop(), df_request_list_Destroy(), df_request_list_node_New(), df_request_list_Pop(), fipa_envelope_Compose(), fipa_envelope_Compose__acl_representation(), fipa_envelope_Compose__date(), fipa_envelope_Compose__envelope(), fipa_envelope_Compose__intended_receiver(), fipa_envelope_Compose__params(), fipa_envelope_Compose__payload_encoding(), fipa_envelope_Compose__to(), fipa_envelope_HandleReceived(), main(), MC_Barrier(), MC_BarrierInit(), MC_SyncInit(), mxml_new(), mxmlNewCustom(), mxmlNewElement(), mxmlNewInteger(), mxmlNewOpaque(), mxmlNewReal(), mxmlNewText(), mxmlNewTextf(), request_handler_DEREGISTER(), scan_file(), syncListNew(), write_element(), xml_get_deep_child(), and xml_new_cdata().
df_request_list_p request_list |
df_search_results_p search_results |
char* search_string |
Definition at line 75 of file df.h.
Referenced by agent_AddPersistentVariable(), agent_xml_compose__create_row_nodes(), interpreter_variable_data_Initialize(), interpreter_variable_data_InitializeFromAgent(), MC_AgentReturnDataSize(), MC_GetAgentReturnData(), MC_SaveData_chdl(), MC_WaitAgent(), mxml_vsnprintf(), receive_AES_en_MA(), and send_AES_en_MA().
COND_T* waiting_cond |
MUTEX_T* waiting_lock |