1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #pragma once
- //#include "DIOS.Dev.Machinery.Model.h"
- #ifdef DIOSDEVMACHINERYDRIVER_EXPORTS
- #define _DIOSDEVMACHDRIVERECOM_API __declspec(dllexport)
- #else
- #define _DIOSDEVMACHDRIVERECOM_API __declspec(dllimport)
- #endif
- #include "IODeviceWithSCF.tlh"
- #include "IODeviceWithSCF.tli"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class _DIOSDEVMACHDRIVERECOM_API MachineryECOMDevice : public IODeviceWithSCF <IODeviceDetail>, public MachineryModel
- {
- using super = IODeviceWithSCF <IODeviceDetail>;
- using superMach = MachineryModel;
- public:
- MachineryECOMDevice(std::shared_ptr <IOEventCenter> center, nsSCF::SCF SCF);
- ~MachineryECOMDevice();
- virtual std::string GetGUID() const override;
- void Register();
- };
- class _DIOSDEVMACHDRIVERECOM_API MachineryECOMDriver : public DIOS::Dev::Detail::IODriverWithSCF <MachineryDriverModel>
- {
- using super = IODriverWithSCF <MachineryDriverModel>;
- public:
- MachineryECOMDriver();
- virtual ~MachineryECOMDriver();
- void FireNotify(std::string key, std::string content);
- public:
- virtual void Prepare() override;
- virtual int Connect() override;
- virtual void Disconnect() override;
- virtual bool isConnected() const override;
- virtual void Dequeue(const char* Packet, DWORD Length) override;
- virtual void FireNotify(int code, std::string key, std::string content) override;
- virtual auto CreateDevice(int index)->std::unique_ptr <IODevice> override;
- virtual std::string DriverProbe() override;
- virtual std::string GetResource() override;
- virtual std::string DeviceProbe() override;
- virtual bool GetDeviceConfig(std::string& Cfg) override;
- virtual bool SetDeviceConfig(std::string Cfg) override;
- private:
- string GetWorkPath(std::string driverconfigfile);
- void MachDriverPrepare(std::string driverconfigpath);
- void InstallLoggers(const std::string& workpath);
- void IntallPinDefineFile(const std::string& workpath);
- void LogInfo(char* Packet, int len, char* others);
- private:
- void* m_dpcHandler;
- void* m_handleComm;
- void* m_handleDispatcher;
- string m_SystemType;
- };
- }
|