edouard@3937: /* edouard@3937: Copyright Edouard TISSERANT 2024 edouard@3937: See COPYING for details edouard@3937: */ edouard@3937: edouard@3937: #if !defined(_PLCObject_hpp_) edouard@3937: #define _PLCObject_hpp_ edouard@3937: edouard@3937: #include "erpc_PLCObject_interface.hpp" edouard@3937: edouard@3937: using namespace erpcShim; edouard@3937: edouard@3937: class PLCObject : public BeremizPLCObjectService_interface edouard@3937: { edouard@3937: public: edouard@3937: edouard@3937: ~PLCObject(void); edouard@3937: edouard@3937: virtual uint32_t AppendChunkToBlob(const binary_t * data, const binary_t * blobID, binary_t * newBlobID); edouard@3937: virtual uint32_t GetLogMessage(uint8_t level, uint32_t msgID, log_message * message); edouard@3937: virtual uint32_t GetPLCID(PSKID * plcID); edouard@3937: virtual uint32_t GetPLCstatus(PLCstatus * status); edouard@3937: virtual uint32_t GetTraceVariables(uint32_t debugToken, TraceVariables * traces); edouard@3937: virtual uint32_t MatchMD5(const char * MD5, bool * match); edouard@3937: virtual uint32_t NewPLC(const char * md5sum, const binary_t * plcObjectBlobID, const list_extra_file_1_t * extrafiles, bool * success); edouard@3937: virtual uint32_t PurgeBlobs(void); edouard@3937: virtual uint32_t RepairPLC(void); edouard@3937: virtual uint32_t ResetLogCount(void); edouard@3937: virtual uint32_t SeedBlob(const binary_t * seed, binary_t * blobID); edouard@3937: virtual uint32_t SetTraceVariablesList(const list_trace_order_1_t * orders, uint32_t * debugtoken); edouard@3937: virtual uint32_t StartPLC(void); edouard@3937: virtual uint32_t StopPLC(bool * success); edouard@3937: }; edouard@3937: edouard@3937: #endif