glooxd  0.3-svn
glooxd.h
1 /*
2  Copyright (c) 2008-2009 by Jakob Schroeter <js@camaya.net>
3  This file is part of the glooxd library. http://camaya.net/glooxd
4 
5  This software is distributed under a license. The full license
6  agreement can be found in the file LICENSE in this distribution.
7  This software may not be copied, modified, sold or distributed
8  other than expressed in the named license agreement.
9 
10  This software is distributed without any warranty.
11 */
12 
13 
92 #ifndef GLOOXD_H__
93 #define GLOOXD_H__
94 
95 #include "macros.h"
96 
97 #include <gloox/gloox.h>
98 
99 #include <string>
100 #include <list>
101 
102 namespace gloox
103 {
104  class Tag;
105 }
106 
113 namespace glooxd
114 {
115 
116  class StreamFeature;
117 
119  GLOOXD_API extern const std::string XMLNS_SERVER;
120 
122  GLOOXD_API extern const std::string XMPP_STREAM_VERSION_MAJOR;
123 
125  GLOOXD_API extern const std::string XMPP_STREAM_VERSION_MINOR;
126 
128  GLOOXD_API extern const std::string XMLNS_GLOOXD;
129 
131  GLOOXD_API extern const std::string GLOOXD_VERSION;
132 
134  GLOOXD_API extern const std::string GLOOXD_DOMAIN;
135 
139  enum LogArea
140  {
141  LogAreaC2S = 0x1000000,
142  LogAreaSM = 0x2000000,
143  LogAreaS2S = 0x4000000,
144  LogAreaRouter = 0x8000000,
145  LogAreaStreamBase = 0x10000000,
146  LogAreaClientStream = 0x20000000,
147  LogAreaServerStream = 0x40000000
148  };
149 
154  {
158  StateTLS = 4,
161  StateDone = 32,
163  };
164 
168  typedef std::list<StreamFeature*> FeatureList;
169 
176  gloox::Tag* returnError( const gloox::Tag* tag,
177  gloox::StanzaError se = gloox::StanzaErrorServiceUnavailable,
178  gloox::StanzaErrorType type = gloox::StanzaErrorTypeCancel);
179 
180 }
181 
182 extern "C"
183 {
184  GLOOXD_API const char* glooxd_version();
185 }
186 
187 #endif // GLOOXD_H__