00001
#ifndef EXPAT_SYSTEM_H
00002
#define EXPAT_SYSTEM_H
00003
00004
#include "EConfBase.h"
00005
#include "EConfBool.h"
00006
#include "EConfInt.h"
00007
#include "EConfString.h"
00008
#include "EConfRtsp.h"
00009
#include "EConfSdp.h"
00010
#include "EConfMedia.h"
00011
#include "EConfGui.h"
00012
#include "EConfDatapump.h"
00013
#include "EConfDeprecated.h"
00014
#include "EConfServerEmulation.h"
00015
#include "EConfClientEmulation.h"
00016
#include "EConfDebug.h"
00017
#include "EConfTranscoding.h"
00018
#include "EConfDynReflection.h"
00019
00173 struct EConfSystem :
public EConfBase
00174 {
00175 enum Type
00176 {
00177
Undefined,
00178
Server,
00179
Proxy,
00180
Client,
00181
TestCachingProxy
00182 };
00183
00184 char*
_host;
00185 Type _type;
00186 bool _set_host;
00187 bool _set_type;
00188
00189 EConfDatapump _datapump;
00190 EConfRtsp _rtsp;
00191 EConfSdp _sdp;
00192 EConfMedia _media;
00193 EConfGui _gui;
00194 EConfBool _cseq1;
00195 EConfBool _patching;
00196 EConfBool _caching;
00197 EConfBool _reflection;
00198 EConfBool _tfrc_reply;
00199 EConfBool _rtp_tcp;
00200 EConfString _rootdir;
00201 EConfString _caching_strategy;
00202 EConfString _cachedir;
00203 EConfInt _cachesize;
00204 EConfInt _client_bw;
00205 EConfDebug _debug;
00206 EConfString _rtp_mcast_if;
00207 EConfClientEmulation _client_emulation;
00208 EConfServerEmulation _server_emulation;
00209 EConfTranscoding _transcoding;
00210 EConfDynReflection _dynReflection;
00211
00212 EConfDeprecated _server_type;
00213
00214
public:
00215
EConfSystem( );
00216
00217
virtual bool start_child_element(
const char* name,
const char** atts, XML_Parser p );
00218
00219
virtual bool end_child_element(
const char* name, XML_Parser p );
00220
bool begin_parse(
const char* name,
const char** atts, XML_Parser p );
00221
virtual void dump(
int depth, ostream& ostr,
bool complete );
00222
00223
bool eval_match_type( Type t );
00224
bool has_hostname( ) const;
00225
bool eval_match_hostname( const
char* hostname );
00226
00227
void specialize(
EConfSystem* overwrite );
00228
00229 private:
00230
EConfSystem( const
EConfSystem& );
00231 EConfSystem& operator=( const EConfSystem& );
00232 };
00233
00235
00236 #endif