custom for >5 resources

Fork of mbedConnectorInterface by Doug Anson

Committer:
sam_grove
Date:
Tue Jan 27 23:41:34 2015 +0000
Revision:
2:853f9ecc12df
Parent:
0:b438482ebbfc
Child:
24:a6915e19814e
Use auto-format on code and add markup to render class documentation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 0:b438482ebbfc 1 /**
ansond 0:b438482ebbfc 2 * @file StaticResource.h
ansond 0:b438482ebbfc 3 * @brief mbed CoAP Endpoint Static Resource class
ansond 0:b438482ebbfc 4 * @author Doug Anson/Chris Paola
ansond 0:b438482ebbfc 5 * @version 1.0
sam_grove 2:853f9ecc12df 6 * @see
ansond 0:b438482ebbfc 7 *
ansond 0:b438482ebbfc 8 * Copyright (c) 2014
ansond 0:b438482ebbfc 9 *
ansond 0:b438482ebbfc 10 * Licensed under the Apache License, Version 2.0 (the "License");
ansond 0:b438482ebbfc 11 * you may not use this file except in compliance with the License.
ansond 0:b438482ebbfc 12 * You may obtain a copy of the License at
ansond 0:b438482ebbfc 13 *
ansond 0:b438482ebbfc 14 * http://www.apache.org/licenses/LICENSE-2.0
ansond 0:b438482ebbfc 15 *
ansond 0:b438482ebbfc 16 * Unless required by applicable law or agreed to in writing, software
ansond 0:b438482ebbfc 17 * distributed under the License is distributed on an "AS IS" BASIS,
ansond 0:b438482ebbfc 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ansond 0:b438482ebbfc 19 * See the License for the specific language governing permissions and
ansond 0:b438482ebbfc 20 * limitations under the License.
ansond 0:b438482ebbfc 21 */
sam_grove 2:853f9ecc12df 22
sam_grove 2:853f9ecc12df 23 #ifndef __STATIC_RESOURCE_H__
sam_grove 2:853f9ecc12df 24 #define __STATIC_RESOURCE_H__
sam_grove 2:853f9ecc12df 25
sam_grove 2:853f9ecc12df 26 // Base Class
sam_grove 2:853f9ecc12df 27 #include "Resource.h"
sam_grove 2:853f9ecc12df 28
sam_grove 2:853f9ecc12df 29 // String class support
sam_grove 2:853f9ecc12df 30 #include <string>
sam_grove 2:853f9ecc12df 31
sam_grove 2:853f9ecc12df 32 /** StaticResource is a static (GET only) resource with a value type pinned as a string type
sam_grove 2:853f9ecc12df 33 */
sam_grove 2:853f9ecc12df 34 class StaticResource : public Resource<string>
sam_grove 2:853f9ecc12df 35 {
sam_grove 2:853f9ecc12df 36 public:
sam_grove 2:853f9ecc12df 37 /**
sam_grove 2:853f9ecc12df 38 Default constructor
sam_grove 2:853f9ecc12df 39 @param logger input logger instance for this resource
sam_grove 2:853f9ecc12df 40 @param name input the Resource URI/Name
sam_grove 2:853f9ecc12df 41 @param value input the Resource value (a string)
sam_grove 2:853f9ecc12df 42 */
sam_grove 2:853f9ecc12df 43 StaticResource(const Logger *logger,const char *name,const char *value);
sam_grove 2:853f9ecc12df 44
sam_grove 2:853f9ecc12df 45 /**
sam_grove 2:853f9ecc12df 46 string value constructor
sam_grove 2:853f9ecc12df 47 @param logger input logger instance for this resource
sam_grove 2:853f9ecc12df 48 @param name input the Resource URI/Name
sam_grove 2:853f9ecc12df 49 @param value input the Resource value (a string)
sam_grove 2:853f9ecc12df 50 */
sam_grove 2:853f9ecc12df 51 StaticResource(const Logger *logger,const char *name,const string value);
ansond 0:b438482ebbfc 52
sam_grove 2:853f9ecc12df 53 /**
sam_grove 2:853f9ecc12df 54 constructor with buffer lengths
sam_grove 2:853f9ecc12df 55 @param logger input logger instance for this resource
sam_grove 2:853f9ecc12df 56 @param name input the Resource URI/Name
sam_grove 2:853f9ecc12df 57 #param name_length input the length of the Resource URI/Name
sam_grove 2:853f9ecc12df 58 @param value input the Resource value (or NULL)
sam_grove 2:853f9ecc12df 59 */
sam_grove 2:853f9ecc12df 60 StaticResource(const Logger *logger,const string name,const string value);
sam_grove 2:853f9ecc12df 61
sam_grove 2:853f9ecc12df 62 /**
sam_grove 2:853f9ecc12df 63 Copy constructor
sam_grove 2:853f9ecc12df 64 @param resource input the StaticResource that is to be deep copied
sam_grove 2:853f9ecc12df 65 */
sam_grove 2:853f9ecc12df 66 StaticResource(const StaticResource &resource);
sam_grove 2:853f9ecc12df 67
sam_grove 2:853f9ecc12df 68 /**
sam_grove 2:853f9ecc12df 69 Destructor
sam_grove 2:853f9ecc12df 70 */
sam_grove 2:853f9ecc12df 71 virtual ~StaticResource();
sam_grove 2:853f9ecc12df 72
sam_grove 2:853f9ecc12df 73 /**
sam_grove 2:853f9ecc12df 74 Bind resource to endpoint
sam_grove 2:853f9ecc12df 75 @param p input pointer to the endpoint resources necessary for binding
sam_grove 2:853f9ecc12df 76 */
sam_grove 2:853f9ecc12df 77 virtual void bind(void *p);
sam_grove 2:853f9ecc12df 78
sam_grove 2:853f9ecc12df 79 protected:
sam_grove 2:853f9ecc12df 80
sam_grove 2:853f9ecc12df 81 private:
sam_grove 2:853f9ecc12df 82 };
sam_grove 2:853f9ecc12df 83
sam_grove 2:853f9ecc12df 84 #endif // __STATIC_RESOURCE_H__