Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /Plugin/DefaultPlugin.h

Parent Directory Parent Directory | Revision Log Revision Log


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


1 sho1get 11 #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