mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-16 17:06:51 +01:00
Update & BugFix Add GatewayTester
Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
This commit is contained in:
87
MQTTSNGateway/GatewayTester/src/Payload.h
Normal file
87
MQTTSNGateway/GatewayTester/src/Payload.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/**************************************************************************************
|
||||
* Copyright (c) 2016, Tomoaki Yamaguchi
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* and Eclipse Distribution License v1.0 which accompany this distribution.
|
||||
*
|
||||
* The Eclipse Public License is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
* and the Eclipse Distribution License is available at
|
||||
* http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
*
|
||||
* Contributors:
|
||||
* Tomoaki Yamaguchi - initial API and implementation and/or initial documentation
|
||||
**************************************************************************************/
|
||||
|
||||
#ifndef PAYLOAD_H_
|
||||
#define PAYLOAD_H_
|
||||
|
||||
#include "LMqttsnClientApp.h"
|
||||
|
||||
#define MSGPACK_FALSE 0xc2
|
||||
#define MSGPACK_TRUE 0xc3
|
||||
#define MSGPACK_POSINT 0x80
|
||||
#define MSGPACK_NEGINT 0xe0
|
||||
#define MSGPACK_UINT8 0xcc
|
||||
#define MSGPACK_UINT16 0xcd
|
||||
#define MSGPACK_UINT32 0xce
|
||||
#define MSGPACK_INT8 0xd0
|
||||
#define MSGPACK_INT16 0xd1
|
||||
#define MSGPACK_INT32 0xd2
|
||||
#define MSGPACK_FLOAT32 0xca
|
||||
#define MSGPACK_FIXSTR 0xa0
|
||||
#define MSGPACK_STR8 0xd9
|
||||
#define MSGPACK_STR16 0xda
|
||||
#define MSGPACK_ARRAY15 0x90
|
||||
#define MSGPACK_ARRAY16 0xdc
|
||||
#define MSGPACK_MAX_ELEMENTS 50 // Less than 256
|
||||
|
||||
namespace linuxAsyncClient {
|
||||
/*=====================================
|
||||
Class Payload
|
||||
=====================================*/
|
||||
class Payload{
|
||||
public:
|
||||
Payload();
|
||||
Payload(uint16_t len);
|
||||
~Payload();
|
||||
|
||||
/*---------------------------------------------
|
||||
getLen() and getRowData() are
|
||||
minimum required functions of Payload class.
|
||||
----------------------------------------------*/
|
||||
uint16_t getLen(); // get data length
|
||||
uint8_t* getRowData(); // get data pointer
|
||||
|
||||
/*--- Functions for MessagePack ---*/
|
||||
void init(void);
|
||||
int8_t set_bool(bool val);
|
||||
int8_t set_uint32(uint32_t val);
|
||||
int8_t set_int32(int32_t val);
|
||||
int8_t set_float(float val);
|
||||
int8_t set_str(char* val);
|
||||
int8_t set_str(const char* val);
|
||||
int8_t set_array(uint8_t val);
|
||||
|
||||
bool get_bool(uint8_t index);
|
||||
uint8_t getArray(uint8_t index);
|
||||
uint32_t get_uint32(uint8_t index);
|
||||
int32_t get_int32(uint8_t index);
|
||||
float get_float(uint8_t index);
|
||||
const char* get_str(uint8_t index, uint16_t* len);
|
||||
|
||||
void setRowData(uint8_t* payload, uint16_t payloadLen);
|
||||
uint16_t getAvailableLength();
|
||||
private:
|
||||
uint8_t* getBufferPos(uint8_t index);
|
||||
uint8_t* _buff;
|
||||
uint16_t _len;
|
||||
uint8_t _elmCnt;
|
||||
uint8_t* _pos;
|
||||
uint8_t _memDlt;
|
||||
};
|
||||
|
||||
} /* linuxAsyncClient */
|
||||
|
||||
#endif /* PAYLOAD_H_ */
|
||||
Reference in New Issue
Block a user