Version: 0.6.0
framework.h
1 /******************************************************************************
2  * Project: wxGIS (GIS Server)
3  * Purpose: wxGIS Server Framework header.
4  * Author: Bishop (aka Barishnikov Dmitriy), polimax@mail.ru
5  ******************************************************************************
6 * Copyright (C) 2008-2011 Bishop
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  ****************************************************************************/
21 #pragma once
22 
23 #include "wxgis/base.h"
24 
25 /*
26 #include "wxgis/core/config.h"
27 #include "wxgis/net/net.h"
28 
29 
30 typedef struct _userinfo
31 {
32  wxString sPluginName;
33  wxString sUser;
34  wxString sCryptPass;
35  //wxString sGroup;
36  //wxString sMail;
37  //security mask
38  //etc.
39 } USERINFO;
40 
41 typedef struct _authrespond
42 {
43  bool bIsValid;
44  long nUserID;
45  USERINFO info;
46 }AUTHRESPOND;
47 
48 class IServerApplication
49 {
50 public:
51  virtual ~IServerApplication(void) {};
52  //pure virtual
53  virtual IGISConfig* GetConfig(void) = 0;
54  virtual void PutInMessage(WXGISMSG msg) = 0;//message to server
55  virtual void PutOutMessage(WXGISMSG msg) = 0;//message from server & server plugins
56  virtual void SetAuth(AUTHRESPOND stUserInfo) = 0;
57  virtual AUTHRESPOND GetAuth(long nID) = 0;
58 };
59 
60 class IService
61 {
62 public:
63  virtual ~IService(void){};
64  virtual bool Start(IServerApplication* pApp, wxXmlNode* pConfig) = 0;
65  virtual bool Stop(void) = 0;
66 };
67 
68 typedef std::vector<IService*> SERVICEARRAY;
69 /*
73 class IRxObjectServer
74 {
75 public:
76  virtual ~IRxObjectServer(void){};
77  virtual wxXmlNode* GetDescription(void) = 0;
78  virtual void SetApplication(IServerApplication* pApp) = 0;
79 };
80 
81 */