summaryrefslogtreecommitdiff
path: root/source/CEH/ZRpcInterface.h
blob: 99bc96f802a7fde98e5a4626cb557619a1d7d869 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*******************************************************************************
 * Copyright (C) ST-Ericsson SA 2011
 * License terms: 3-clause BSD license
 ******************************************************************************/

#ifndef _ZRPCINTERFACE_H_
#define _ZRPCINTERFACE_H_

#include "CmdResult.h"
#include "LcmInterface.h"
#include "LockLessQueue.h"

class ZRpcInterface
{
public:
    ZRpcInterface(CmdResult *CmdResult, LcmInterface *LcmInterface);
    virtual ~ZRpcInterface();

    //Circular buffer for received data when using Z-protocol.
    LockLessQueue *Z_IndataBuffer;

    //Z-Protocol
    ErrorCode_e DoRPC_Z_VersionRequest();
    ErrorCode_e DoRPC_Z_SetBaudrate(int Baudrate);
    ErrorCode_e DoRPC_Z_Exit_Z_Protocol();

    ErrorCode_e DoneRPC_Z_ReadImpl(CommandData_t CmdData);

    ErrorCode_e Do_CEH_Callback(CommandData_t *pCmdData);

private:
    //Payload variables for z-protocol
    uint8 *Z_Payload;
    uint8 *Z_Payload_SetBaudrate;
    CmdResult *cmdResult_;
    LcmInterface *lcmInterface_;
};

#endif // _ZRPCINTERFACE_H_