C_runtime/erpc_PLCObject_client.hpp
author Edouard Tisserant <edouard@beremiz.fr>
Mon, 28 Oct 2024 16:02:47 +0100
changeset 4032 1ffff67678ad
parent 3946 8815b44be31e
child 4044 2a4b8b59d165
permissions -rw-r--r--
Add ExtendedCall to PLCObject as a replacement of RemoteExec and reflect it in eRPC interface.

ExtendedCall is a generic remote procedure call that runtime code can register to and that IDE extensions can call.
For example a fieldbus extension can use ExtendedCall to browse the fieldbus devices connected to the runtime.
/*
 * Generated by erpcgen 1.12.0 on Mon Oct 28 15:10:14 2024.
 *
 * AUTOGENERATED - DO NOT EDIT
 */


#if !defined(_erpc_PLCObject_client_hpp_)
#define _erpc_PLCObject_client_hpp_

#include "erpc_PLCObject_interface.hpp"

#include "erpc_client_manager.h"

namespace erpcShim
{

class BeremizPLCObjectService_client: public BeremizPLCObjectService_interface
{
    public:
        BeremizPLCObjectService_client(erpc::ClientManager *manager);

        virtual ~BeremizPLCObjectService_client();

        virtual uint32_t AppendChunkToBlob(const binary_t * data, const binary_t * blobID, binary_t * newBlobID);

        virtual uint32_t GetLogMessage(uint8_t level, uint32_t msgID, log_message * message);

        virtual uint32_t GetPLCID(PSKID * plcID);

        virtual uint32_t GetPLCstatus(PLCstatus * status);

        virtual uint32_t GetTraceVariables(uint32_t debugToken, TraceVariables * traces);

        virtual uint32_t MatchMD5(const char * MD5, bool * match);

        virtual uint32_t NewPLC(const char * md5sum, const binary_t * plcObjectBlobID, const list_extra_file_1_t * extrafiles, bool * success);

        virtual uint32_t PurgeBlobs(void);

        virtual uint32_t RepairPLC(void);

        virtual uint32_t ResetLogCount(void);

        virtual uint32_t SeedBlob(const binary_t * seed, binary_t * blobID);

        virtual uint32_t SetTraceVariablesList(const list_trace_order_1_t * orders, int32_t * debugtoken);

        virtual uint32_t StartPLC(void);

        virtual uint32_t StopPLC(bool * success);

        virtual uint32_t ExtendedCall(const char * method, const binary_t * argument, binary_t * answer);

    protected:
        erpc::ClientManager *m_clientManager;
};

} // erpcShim


#endif // _erpc_PLCObject_client_hpp_