Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
135:2f4290590e51
Parent:
133:3d136f5ffd66
--- a/config_manager.cpp	Tue Sep 01 19:34:34 2015 +0000
+++ b/config_manager.cpp	Thu Sep 10 20:11:35 2015 +0000
@@ -171,7 +171,7 @@
     { 
         u16Udp_port_listener = u16_UDP_PORT_LISTENER;
         set_udp_port_listener ( u16_UDP_PORT_LISTENER );
-    } 
+    }
         else 
     { 
         u16Udp_port_listener = ( uint16_t ) siRet;
@@ -179,6 +179,45 @@
     
     strcpy ( this -> chClock_erver_ip, this -> chServer_ip );
     
+    boolCallBoxDetachMode = fget_cbx_detach_mode ( &siRet );
+    
+    if ( siRet < 0 ) 
+    { 
+        boolCallBoxDetachMode = false;
+        set_cbx_detach_mode ( false );
+    }
+    
+    boolCallBoxWakeMode = fget_cbx_wake_mode ( &siRet );
+    
+    if ( siRet < 0 ) 
+    { 
+        boolCallBoxWakeMode = true;
+        set_cbx_wake_mode ( true );
+    }
+    
+    siRet = fget_cbx_mode ();
+    
+    if ( siRet < 0 ) 
+    { 
+        u8CallBoxMode = u8_CUSTOM_MODE;
+        fset_cbx_mode ( u8_CUSTOM_MODE );
+    } 
+        else 
+    { 
+        u8CallBoxMode = ( uint8_t ) siRet;
+        
+        if ( u8CallBoxMode == u8_FIBRA_MODE )
+        {
+            boolCallBoxWakeMode = true;
+            boolCallBoxDetachMode = false;
+        }
+        else if ( u8CallBoxMode == u8_RADIO_MODE )
+        {
+            boolCallBoxWakeMode = false;
+            boolCallBoxDetachMode = true;
+        }
+    }
+    
     set_modified_false ();
 }
 
@@ -265,6 +304,11 @@
 
 bool ConfigManager::was_modified ( void ) { return boolModified; }
 
+bool ConfigManager::get_cbx_detach_mode ( void ) { return boolCallBoxDetachMode; }
+
+bool ConfigManager::get_cbx_wake_mode ( void ) { return boolCallBoxWakeMode; }
+
+uint8_t ConfigManager::get_cbx_mode ( void ) { return u8CallBoxMode; }
 
 void ConfigManager::set_header_ip ( const char * new_Header_ip ) 
 { 
@@ -387,6 +431,37 @@
     u16Tcp_port_listener = new_tcp_port_listener;
 }
 
+void ConfigManager::set_cbx_detach_mode ( const bool new_cbx_detach_mode )
+{
+    boolCallBoxDetachMode = new_cbx_detach_mode;
+    fset_cbx_detach_mode ( new_cbx_detach_mode );
+    cbx_custom_mode_check ();
+}
+
+void ConfigManager::set_cbx_wake_mode ( const bool new_cbx_wake_mode )
+{
+    boolCallBoxWakeMode = new_cbx_wake_mode;
+    fset_cbx_wake_mode ( new_cbx_wake_mode );
+    cbx_custom_mode_check ();
+}
+
+void ConfigManager::set_cbx_mode ( const uint8_t new_cbx_mode )
+{
+    u8CallBoxMode = new_cbx_mode;
+    fset_cbx_mode ( new_cbx_mode );
+            
+    if ( u8CallBoxMode == u8_FIBRA_MODE )
+    {
+        boolCallBoxWakeMode = true;
+        boolCallBoxDetachMode = false;
+    }
+    else if ( u8CallBoxMode == u8_RADIO_MODE )
+    {
+        boolCallBoxWakeMode = false;
+        boolCallBoxDetachMode = true;
+    }
+}
+
 void ConfigManager::set_modified_true ( void ) { boolModified = true; }
 
 void ConfigManager::set_modified_false ( void )
@@ -419,4 +494,17 @@
 bool ConfigManager::fw_server_port_was_modified ( void ) { return boolFw_server_port_was_modified; }
 bool ConfigManager::max_ext_was_modified ( void ) { return boolMax_ext_was_modified; }
 bool ConfigManager::min_ext_was_modified ( void ) { return boolMin_ext_was_modified; }
-bool ConfigManager::shift_port_was_modified ( void ) { return boolShift_port_was_modified; }
\ No newline at end of file
+bool ConfigManager::shift_port_was_modified ( void ) { return boolShift_port_was_modified; }
+
+void ConfigManager::cbx_custom_mode_check ( void )
+{
+    uint8_t value = 0;
+    if ( ( boolCallBoxWakeMode == true ) and ( boolCallBoxDetachMode == false ) ) value = ( u8_FIBRA_MODE );
+    
+    else if ( ( boolCallBoxWakeMode == false ) and ( boolCallBoxDetachMode == true ) ) value = ( u8_RADIO_MODE );
+    
+    else { value = u8_CUSTOM_MODE; }
+    
+    u8CallBoxMode = value;
+    fset_cbx_mode ( value );
+}
\ No newline at end of file