#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "config.h"
#include "include/mc_platform.h"
#include "include/df.h"
#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) |
Functions | |
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 (mc_platform_p 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 (mc_platform_p mc_platform) |
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) |
int | df_node_Destroy (df_node_p df_node) |
void * | df_Thread (void *arg) |
int | request_handler_REGISTER (struct mc_platform_s *global, void *data) |
int | request_handler_SEARCH (struct mc_platform_s *global, void *data) |
int | request_handler_SUBSCRIBE (struct mc_platform_s *global, void *data) |
int | request_handler_DEREGISTER (struct mc_platform_s *global, void *data) |
#define REQUEST | ( | name, | |||
string, | |||||
description | ) |
if ( !strcmp(request->command, string ) ) { \ return_code = MC_SUCCESS; \ handler_code = request_handler_##name( \ global, \ request->data ); \ request_code = REQUEST_##name; \ } else
Referenced by acc_connection_Thread(), and acc_MessageHandlerThread().
int df_Add | ( | struct df_s * | df, | |
struct df_node_s * | node | |||
) |
Definition at line 50 of file df.c.
References ListAdd(), MC_SUCCESS, and SIGNAL.
Referenced by request_handler_REGISTER().
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 | ( | mc_platform_p | mc_platform | ) |
Definition at line 103 of file df.c.
References COND_INIT, COND_T, df_request_list_New(), ListInitialize(), MUTEX_INIT, and MUTEX_T.
Referenced by mc_platform_Initialize().
int df_node_Destroy | ( | df_node_p | df_node | ) |
Definition at line 418 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 COND_DESTROY, df_request_list_node_Destroy(), ListPop(), ListTerminate(), MC_SUCCESS, MUTEX_DESTROY, and node.
Referenced by df_Destroy().
df_request_list_p df_request_list_New | ( | void | ) |
Definition at line 349 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 374 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 405 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 390 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 | ( | mc_platform_p | mc_platform | ) |
Definition at line 263 of file df.c.
References mc_platform_s::df, df_Thread(), MC_THREAD_DF, mc_platform_s::stack_size, and THREAD_CREATE.
Referenced by mc_platform_Initialize().
void* df_Thread | ( | void * | arg | ) |
Definition at line 432 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().
int request_handler_DEREGISTER | ( | struct mc_platform_s * | global, | |
void * | data | |||
) |
Definition at line 526 of file df.c.
References mc_platform_s::df, MC_SUCCESS, MUTEX_LOCK, MUTEX_UNLOCK, listNode_s::next, node, and listNode_s::node_data.
int request_handler_REGISTER | ( | struct mc_platform_s * | global, | |
void * | data | |||
) |
Definition at line 496 of file df.c.
References mc_platform_s::df, and df_Add().
int request_handler_SEARCH | ( | struct mc_platform_s * | global, | |
void * | data | |||
) |
Definition at line 502 of file df.c.
References mc_platform_s::df, df_SearchForService(), MC_SUCCESS, search, and SIGNAL.
int request_handler_SUBSCRIBE | ( | struct mc_platform_s * | global, | |
void * | data | |||
) |