custom for >5 resources

Fork of mbedConnectorInterface by Doug Anson

Revision:
0:b438482ebbfc
Child:
2:853f9ecc12df
diff -r 000000000000 -r b438482ebbfc api/Options.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/api/Options.h	Tue Jan 27 22:23:51 2015 +0000
@@ -0,0 +1,130 @@
+/**
+ * @file    Options.h
+ * @brief   mbed CoAP Options (immutable OptionsBuilder instance) class header
+ * @author  Doug Anson/Chris Paola
+ * @version 1.0
+ * @see     
+ *
+ * Copyright (c) 2014
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+ #ifndef __OPTIONS_H__
+ #define __OPTIONS_H__
+ 
+ // Static Resources
+ #include "StaticResource.h"
+ 
+ // Dynamic Resources
+ #include "DynamicResource.h"
+  
+ // include the mbed connector resource list
+ #include "mbedConnectorInterface.h"
+ 
+ // Vector support
+ #include <vector>
+ 
+ // Resources list
+ typedef vector<StaticResource *> StaticResourcesList;
+ typedef vector<DynamicResource *> DynamicResourcesList;
+   
+ namespace Connector {         
+     class Options {
+         public:
+            /**
+            Default constructor
+            */
+            Options();
+            
+            /**
+            Copy constructor
+            */
+            Options(const Options &opt);
+            
+            /**
+            Destructor
+            */
+            virtual ~Options();
+            
+            /**
+            Get the node lifetime
+            */
+            char *getLifetime();
+            
+            /**
+            Get the NSP domain
+            */
+            string getDomain();
+            
+            /**
+            Get the node name
+            */
+            string getEndpointNodename();
+            
+            /**
+            Get the node type
+            */
+            string getEndpointType();
+            
+            /**
+            Get the NSP port number
+            */
+            int getNSPPortNumber();
+            
+            /**
+            Get the node radio channel list
+            */
+            uint32_t setRadioChannelList();
+            
+            /**
+            Get the NSP read update period
+            */
+            int getReadUpdatePeriod();
+            
+            /**
+            Get the NSP address
+            */
+            uint8_t *getNSPAddress();
+            
+            /**
+            Get the node MAC address
+            */
+            uint8_t *setMACAddress();
+            
+            /**
+            Get the list of static resources
+            */
+            StaticResourcesList *getStaticResourceList();
+            
+            /**
+            Get the list of dynamic resources
+            */
+            DynamicResourcesList *getDynamicResourceList();
+            
+        protected:
+            char                *m_lifetime;
+            string               m_domain;
+            string               m_node_name;
+            string               m_endpoint_type;
+            uint32_t             m_channel_list;
+            int                  m_rd_update_period;
+            int                  m_nsp_port;
+            uint8_t              m_nsp_address[NSP_IP_ADDRESS_LENGTH];
+            uint8_t              m_mac_address[NODE_MAC_ADDRESS_LENGTH];
+            StaticResourcesList  m_static_resources;
+            DynamicResourcesList m_dynamic_resources;
+     };
+ }
+ 
+ #endif // __OPTIONS_H__
\ No newline at end of file