扩展框架分析
? ?在服務器端啟動通信服務器程序CommunicateServer.exe,接受客戶端的連接;在客戶端啟動GameStart.exe,連接至服務器端,在接收到“Start”消息時啟動GameEntryPoint.exe,GameEntryPoint.exe 將根據配置文件(引導文件)加載相應的窗口和相應的邏輯插件;其中窗口負責與用戶的交互,邏輯插件負責底層的邏輯運算,交互窗口和邏輯插件根據實時數據庫進行通信。
? ?其中最核心的有一下幾個類:
class DGUI_EXPORT DEmuatorUnit { public:DEmuatorUnit(void);virtual ~DEmuatorUnit(void);virtual void install(const QStringList& parameter) = 0;virtual QStringList parameterIntroduce() const = 0;virtual QWidget* widget(){return nullptr;}virtual QString name() const{return QString();}QString group() const{return QString();} }; class DGUI_EXPORT DEmuatorUnitFactory { public:DEmuatorUnitFactory(const QString &plugins);DEmuatorUnitFactory();virtual ~DEmuatorUnitFactory();virtual QStringList products() const;virtual DEmuatorUnit* create(const QString &name); private: DEmuatorUnitFactory *m_factory;bool m_loader; }; #define EXPORT_EmuatorUnitFactory(EXPORT_GRAND) extern "C" EXPORT_GRAND DEmuatorUnitFactory *createEmuatorUnitFactory()
總結
- 上一篇: CDH Kerberos 认证下Kafk
- 下一篇: 【Boost】Boost使用几条简单笔记