Develop and Download Open Source Software

Browse Subversion Repository

Contents of /Plugin/DefaultPlugin.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11 - (show annotations) (download) (as text)
Wed Feb 10 18:21:00 2010 UTC (14 years, 3 months ago) by sho1get
File MIME type: text/x-chdr
File size: 2546 byte(s)


1 #pragma once
2
3 #include "..\WcsAPI\WcsAPI.h"
4 #include "Export.h"
5 #include "StringSplit.h"
6
7 // ToDo:
8 #include "Flactale.h"
9
10 //////////////////////////////////////////////////////////////////////////
11
12 class CDefaultPlugin : public CPlugin, CStringSplit
13 {
14 protected:
15 CDefaultPlugin();
16 virtual ~CDefaultPlugin();
17
18 public:
19 // Override method
20 virtual BOOL LoadInitialize();
21 virtual void ReceiveCallBack(const CByteArray &data);
22
23 virtual BOOL MasterInitialize(const NodeDataList &list, BOOL fSystem);
24 virtual BOOL MasterFinalize();
25 virtual DWORD MasterTransaction(LPVOID lpParams);
26
27 virtual BOOL SlaveInitialize(const SLAVE_PLUGIN &init);
28 virtual BOOL SlaveFinalize();
29 virtual DWORD SlaveTransaction(LPVOID lpParams);
30
31 public:
32 friend CPlugin *CreatePlugin();
33 friend void ReleasePlugin(CDefaultPlugin *obj);
34
35 protected:
36 void doConstructor();
37 void doLoadInitialize();
38 BOOL doMasterInitialize(const MASTER_PLUGIN &init);
39 void doMasterFinalize();
40 BOOL doSlaveInitialize(const SLAVE_PLUGIN &init);
41 void doSlaveFinalize();
42 };
43
44 //////////////////////////////////////////////////////////////////////////
45
46 CPlugin *CreatePlugin()
47 {
48 return (new CDefaultPlugin());
49 }
50
51 void ReleasePlugin(CDefaultPlugin *obj)
52 {
53 delete obj;
54 }
55
56 //////////////////////////////////////////////////////////////////////////
57
58 inline void CDefaultPlugin::doConstructor()
59 {
60 m_CalcSize.nWidth = CALC_WIDTH;
61 m_CalcSize.nHeight = CALC_HEIGHT;
62 m_CalcSize.nRange = CALC_RANGE;
63 }
64
65 inline void CDefaultPlugin::doLoadInitialize()
66 {
67 m_PlgInfo.wPluginID = PLGINFO_ID;
68 m_PlgInfo.wType = PLGINFO_TYPE;
69 m_PlgInfo.wVersion = PLGINFO_VERSION;
70 m_PlgInfo.dwTimeout = PLGINFO_TIMEOUT;
71 m_PlgInfo.nBuildType = BUILD_TYPE;
72 CopyMemory(&m_PlgInfo.szText, PLGINFO_TEXT, MC_MINSIZE(m_PlgInfo.szText, PLGINFO_TEXT));
73 }
74
75 inline BOOL CDefaultPlugin::doMasterInitialize(const MASTER_PLUGIN &init)
76 {
77 if (!CPlugin::doCreateWindow(init))
78 {
79 return FALSE;
80 }
81
82 return API_StartTimer(), TRUE;
83 }
84
85 inline void CDefaultPlugin::doMasterFinalize()
86 {
87 if (!m_fSystem)
88 {
89 API_StopTimer();
90 API_StopPlugin(m_Reportlist);
91 }
92 }
93
94 inline BOOL CDefaultPlugin::doSlaveInitialize(const SLAVE_PLUGIN &init)
95 {
96 API_InitProgress(init.dwProcessors);
97 return CPlugin::SlaveInitialize(init);
98 }
99
100 inline void CDefaultPlugin::doSlaveFinalize()
101 {
102 if (m_fRunning)
103 {
104 API_StopPlugin(m_SlavePlugin.dbRuntime);
105 }
106 }
107
108 //////////////////////////////////////////////////////////////////////////

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26