Important Update:
- Bug fix JSONparseCore: Allow for blank path in file name - Added new Class LiteProtocolCore for basic protocol
This commit is contained in:
86
LiteProtocolCore.h
Normal file
86
LiteProtocolCore.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/******************************************************
|
||||
* Rapid Embedded Development Architecture (redA) *
|
||||
* Copyright (C) 2008 RecoSys *
|
||||
* -------------- *
|
||||
* TLiteProtcol: *
|
||||
* Simplified protocol object to allow for fast *
|
||||
* communications between componets *
|
||||
* *
|
||||
* Contents: *
|
||||
* CLiteProtocol - Core of simple protocol *
|
||||
* *
|
||||
******************************************************/
|
||||
|
||||
#ifndef LITE_PROTOCOL_CORE
|
||||
#define LITE_PROTOCOL_CORE
|
||||
|
||||
using namespace std;
|
||||
|
||||
// redA Libraries
|
||||
/* none */
|
||||
|
||||
// Standard C/C++ Libraries
|
||||
#include <unistd.h>
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// Very Simple Lightweight Protcol
|
||||
class CLiteProtocol
|
||||
{
|
||||
protected:
|
||||
// Parameters
|
||||
int BufferInc;
|
||||
|
||||
char StartChar;
|
||||
char EndChar;
|
||||
char Separator;
|
||||
|
||||
char *CommandStr;
|
||||
int BufferSize;
|
||||
|
||||
long Length;
|
||||
int NoOfParams;
|
||||
|
||||
bool Verified;
|
||||
char Error[100];
|
||||
|
||||
int CurrPos;
|
||||
int CurrParam;
|
||||
|
||||
// Internal tools
|
||||
bool IncCommandStr( int pLength );
|
||||
bool UpdateCommandStr();
|
||||
bool VerifyStr( char * pString, int pLength, int &ParamCount, char * pError );
|
||||
|
||||
public:
|
||||
// Constructor & Destructor
|
||||
CLiteProtocol( int pBufferInc, char pStartChar = 0x02, char pEndChar = 0x03, char pSeparator = 0x00 );
|
||||
~CLiteProtocol();
|
||||
|
||||
// Set Command string
|
||||
bool ClearCommandStr();
|
||||
bool NewCommandStr();
|
||||
bool SetCommandStr( char * pString, int pLength, char * Error );
|
||||
bool AppendCommandStr( char *pString, int &pLength );
|
||||
bool VerifyCommandStr();
|
||||
|
||||
// Get Command String
|
||||
char* GetCommandStr( char ** pString = NULL, int * pLength = NULL );
|
||||
int GetCommandLen() { return Length; };
|
||||
int GetNoOfParams() { return NoOfParams; };
|
||||
bool isVerified() { return Verified; };
|
||||
char* GetError() { return Error; };
|
||||
|
||||
// Set Parameters
|
||||
bool AppendParam( const char * pString, const int pLength );
|
||||
bool AppendParam( long pValue );
|
||||
bool AppendParam( double pValue, int pDigits );
|
||||
|
||||
// Get Parameters
|
||||
char const * GetParamNo( int ParamNo, char ** pString = NULL, int * pLength = NULL );
|
||||
bool GotoParam( int ParamNo );
|
||||
bool NextParam();
|
||||
char const * GetParam( char ** pString = NULL, int * pLength = NULL );
|
||||
};
|
||||
|
||||
#endif /* LITE_PROTOCOL_CORE */
|
||||
Reference in New Issue
Block a user