Kenji Arai / TYBLE16_mbedlized_os5_several_examples_1st

Dependencies:   nRF51_Vdd TextLCD BME280

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers URLFrame.h Source File

URLFrame.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2006-2015 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef __URLFRAME_H__
00018 #define __URLFRAME_H__
00019 
00020 #include "EddystoneTypes.h"
00021 #include <string.h>
00022 
00023 class URLFrame
00024 {
00025 public:
00026     URLFrame(void);
00027 
00028     URLFrame(const char *urlDataIn);
00029 
00030     URLFrame(UrlData_t urlDataIn, uint8_t urlDataLength);
00031 
00032     void constructURLFrame(uint8_t* rawFrame, int8_t advPowerLevel);
00033 
00034     size_t getRawFrameSize(void) const;
00035 
00036     uint8_t* getEncodedURLData(void);
00037 
00038     uint8_t getEncodedURLDataLength(void) const;
00039 
00040     void setURLData(const char *urlDataIn);
00041 
00042     void setEncodedURLData(const uint8_t* urlEncodedDataIn, const uint8_t urlEncodedDataLengthIn);
00043 
00044 private:
00045     void encodeURL(const char *urlDataIn);
00046 
00047     static const uint8_t FRAME_TYPE_URL     = 0x10;
00048     /* Even if the URL is 0 bytes we still need to include the type and txPower i.e. 2 bytes */
00049     static const uint8_t FRAME_MIN_SIZE_URL = 2;
00050 
00051     uint8_t              urlDataLength;
00052     UrlData_t            urlData;
00053 
00054 };
00055 
00056 #endif /* __URLFRAME_H__ */