Sebastián Pastor / EtheriosCloudConnector
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers rci_binary_debug.h Source File

rci_binary_debug.h

00001 /*
00002  * Copyright (c) 2013 Digi International Inc.,
00003  * All rights not expressly granted are reserved.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
00007  * You can obtain one at http://mozilla.org/MPL/2.0/.
00008  *
00009  * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
00010  * =======================================================================
00011  */
00012 
00013 #if !(defined RCI_DEBUG)
00014 
00015 static void rci_debug_printf(char const * const format, ...)
00016 {
00017     (void) format;
00018 }
00019 
00020 #define rci_input_state_t_as_string(value)      NULL
00021 #define rci_output_state_t_as_string(value)     NULL
00022 #define rci_traverse_state_t_as_string(value)     NULL
00023 
00024 #else
00025 
00026 #define rci_debug_printf    connector_debug_printf
00027 
00028 #define enum_to_case(name)  case name:  result = #name;             break
00029 
00030 static char const * rci_input_state_t_as_string(rci_input_state_t const value)
00031 {
00032     char const * result=NULL;
00033     switch (value)
00034     {
00035         enum_to_case(rci_input_state_command_id);
00036         enum_to_case(rci_input_state_command_attribute);
00037         enum_to_case(rci_input_state_group_id);
00038         enum_to_case(rci_input_state_group_attribute);
00039         enum_to_case(rci_input_state_field_id);
00040         enum_to_case(rci_input_state_field_type);
00041         enum_to_case(rci_input_state_field_no_value);
00042         enum_to_case(rci_input_state_field_value);
00043         enum_to_case(rci_input_state_done);
00044     }
00045     return result;
00046 }
00047 
00048 static char const * rci_output_state_t_as_string(rci_output_state_t const value)
00049 {
00050     char const * result=NULL;
00051     switch (value)
00052     {
00053         enum_to_case(rci_output_state_command_id);
00054         enum_to_case(rci_output_state_group_id);
00055         enum_to_case(rci_output_state_group_attribute);
00056         enum_to_case(rci_output_state_field_id);
00057         enum_to_case(rci_output_state_field_value);
00058         enum_to_case(rci_output_state_field_terminator);
00059         enum_to_case(rci_output_state_group_terminator);
00060         enum_to_case(rci_output_state_response_done);
00061         enum_to_case(rci_output_state_done);
00062     }
00063     return result;
00064 }
00065 
00066 static char const * rci_traverse_state_t_as_string(rci_traverse_state_t const value)
00067 {
00068     char const * result=NULL;
00069     switch (value)
00070     {
00071         enum_to_case(rci_traverse_state_none);
00072         enum_to_case(rci_traverse_state_command_id);
00073         enum_to_case(rci_traverse_state_group_id);
00074         enum_to_case(rci_traverse_state_element_id);
00075         enum_to_case(rci_traverse_state_element_end);
00076         enum_to_case(rci_traverse_state_group_end);
00077         enum_to_case(rci_traverse_state_all_groups);
00078         enum_to_case(rci_traverse_state_all_group_instances);
00079         enum_to_case(rci_traverse_state_all_elements);
00080     }
00081     return result;
00082 }
00083 
00084 #endif
00085