Pyrogenesis  trunk
StanzaExtensions.h
Go to the documentation of this file.
1 /* Copyright (C) 2015 Wildfire Games.
2  * This file is part of 0 A.D.
3  *
4  * 0 A.D. is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * 0 A.D. is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16  */
17 #ifndef STANZAEXTENSIONS_H
18 #define STANZAEXTENSIONS_H
19 
21 
22 /// Global Gamelist Extension
23 #define EXTGAMELISTQUERY 1403
24 #define XMLNS_GAMELIST "jabber:iq:gamelist"
25 
26 /// Global Boardlist Extension
27 #define EXTBOARDLISTQUERY 1404
28 #define XMLNS_BOARDLIST "jabber:iq:boardlist"
29 
30 /// Global Gamereport Extension
31 #define EXTGAMEREPORT 1405
32 #define XMLNS_GAMEREPORT "jabber:iq:gamereport"
33 
34 /// Global Profile Extension
35 #define EXTPROFILEQUERY 1406
36 #define XMLNS_PROFILE "jabber:iq:profile"
37 
39 {
40 public:
41  GameReport(const glooxwrapper::Tag* tag = 0);
42 
43  // Following four methods are all required by gloox
45  {
46  return new GameReport(tag);
47  }
48  virtual const glooxwrapper::string& filterString() const;
49  virtual glooxwrapper::Tag* tag() const;
50  virtual glooxwrapper::StanzaExtension* clone() const;
51 
52  std::vector<const glooxwrapper::Tag*> m_GameReport;
53 };
54 
56 {
57 public:
59 
60  // Following four methods are all required by gloox
62  {
63  return new GameListQuery(tag);
64  }
65  virtual const glooxwrapper::string& filterString() const;
66  virtual glooxwrapper::Tag* tag() const;
67  virtual glooxwrapper::StanzaExtension* clone() const;
68 
69  ~GameListQuery();
70 
72  std::vector<const glooxwrapper::Tag*> m_GameList;
73 };
74 
76 {
77 public:
79 
80  // Following four methods are all required by gloox
82  {
83  return new BoardListQuery(tag);
84  }
85  virtual const glooxwrapper::string& filterString() const;
86  virtual glooxwrapper::Tag* tag() const;
87  virtual glooxwrapper::StanzaExtension* clone() const;
88 
89  ~BoardListQuery();
90 
92  std::vector<const glooxwrapper::Tag*> m_StanzaBoardList;
93 };
94 
96 {
97 public:
99 
100  // Following four methods are all required by gloox
102  {
103  return new ProfileQuery(tag);
104  }
105  virtual const glooxwrapper::string& filterString() const;
106  virtual glooxwrapper::Tag* tag() const;
107  virtual glooxwrapper::StanzaExtension* clone() const;
108 
109  ~ProfileQuery();
110 
112  std::vector<const glooxwrapper::Tag*> m_StanzaProfile;
113 };
114 #endif // STANZAEXTENSIONS_H
virtual glooxwrapper::Tag * tag() const
Required by gloox, used to serialize the GameReport into XML for sending.
Definition: StanzaExtensions.cpp:35
glooxwrapper::string m_Command
Definition: StanzaExtensions.h:71
std::vector< const glooxwrapper::Tag * > m_StanzaProfile
Definition: StanzaExtensions.h:112
glooxwrapper::string m_Command
Definition: StanzaExtensions.h:91
Definition: glooxwrapper.h:358
std::vector< const glooxwrapper::Tag * > m_GameReport
Definition: StanzaExtensions.h:52
virtual StanzaExtension * newInstance(const glooxwrapper::Tag *tag) const
Definition: StanzaExtensions.h:61
virtual StanzaExtension * newInstance(const glooxwrapper::Tag *tag) const
Definition: StanzaExtensions.h:101
virtual glooxwrapper::StanzaExtension * clone() const
Definition: StanzaExtensions.cpp:55
Definition: StanzaExtensions.h:38
std::vector< const glooxwrapper::Tag * > m_StanzaBoardList
Definition: StanzaExtensions.h:92
GameReport(const glooxwrapper::Tag *tag=0)
Definition: StanzaExtensions.cpp:24
virtual StanzaExtension * newInstance(const glooxwrapper::Tag *tag) const
Definition: StanzaExtensions.h:44
glooxwrapper::string m_Command
Definition: StanzaExtensions.h:111
Definition: glooxwrapper.h:108
virtual StanzaExtension * newInstance(const glooxwrapper::Tag *tag) const
Definition: StanzaExtensions.h:81
Definition: StanzaExtensions.h:95
std::vector< const glooxwrapper::Tag * > m_GameList
Definition: StanzaExtensions.h:72
StanzaExtension(int type)
Definition: glooxwrapper.h:361
virtual const glooxwrapper::string & filterString() const
Required by gloox, used to find the GameReport element in a recived IQ.
Definition: StanzaExtensions.cpp:49
Definition: StanzaExtensions.h:55
Definition: StanzaExtensions.h:75
Definition: glooxwrapper.h:539