31 #ifndef PTLIB_HTTPSVC_H 32 #define PTLIB_HTTPSVC_H 84 const char * securedKeys[MaxSecuredKeys];
94 const char * gifFilename;
111 const char * GetServiceDependencies()
const;
113 virtual void OnConfigChanged() = 0;
114 virtual PBoolean Initialise(
const char * initMsg) = 0;
119 PINDEX stackSize = 0x4000
124 PINDEX stackSize = 0x4000
127 virtual PString GetPageGraphic();
128 void GetPageHeader(
PHTML &);
131 virtual PString GetCopyrightText();
146 virtual void AddRegisteredText(
PHTML & html);
147 virtual void AddUnregisteredText(
PHTML & html);
173 void ShutdownListener();
174 void BeginRestartSystem();
175 void CompleteRestartSystem();
244 const PURL & editSection,
245 const PURL & newSection,
297 virtual void AddFields(
313 const char * help = NULL,
314 const char * helpGif =
"help.gif");
319 const char * keyword =
"#equival");
333 NoSignatureForFile = 8
335 static bool ProcessMacros(
341 static bool SpliceMacro(
367 friend class PServiceMacros_list;
373 #define PCREATE_SERVICE_MACRO(name, request, args) \ 374 class PServiceMacro_##name : public PServiceMacro { \ 376 PServiceMacro_##name() : PServiceMacro(#name, false) { } \ 377 PString Translate(PHTTPRequest &, const PString &, const PString &) const; \ 379 static const PServiceMacro_##name serviceMacro_##name; \ 380 PString PServiceMacro_##name::Translate(PHTTPRequest & request, const PString & args, const PString &) const 384 #define PCREATE_SERVICE_MACRO_BLOCK(name, request, args, block) \ 385 class PServiceMacro_##name : public PServiceMacro { \ 387 PServiceMacro_##name() : PServiceMacro(#name, true) { } \ 388 PString Translate(PHTTPRequest &, const PString &, const PString &) const; \ 390 static const PServiceMacro_##name serviceMacro_##name; \ 391 PString PServiceMacro_##name::Translate(PHTTPRequest & request, const PString & args, const PString & block) const 430 :
PHTTPFile(filename) { needSignature = needSig; }
432 :
PHTTPFile(filename, file) { needSignature = needSig; }
434 :
PHTTPFile(filename, file) { needSignature = needSig; }
436 :
PHTTPFile(filename, auth) { needSignature = needSig; }
438 :
PHTTPFile(filename, file, auth) { needSignature = needSig; }
471 #endif // PTLIB_HTTPSVC_H PHTTPServiceProcess & process
Definition: httpsvc.h:302
PTEACypher::Key signatureKey
Signature key for encryption of HTML files.
Definition: httpsvc.h:87
PTCPSocket * socket
Definition: httpsvc.h:59
This class contains the Multipurpose Internet Mail Extensions parameters and variables.
Definition: mime.h:52
PTEACypher::Key signatureKey
Definition: httpsvc.h:161
PStringArray securedKeys
Definition: httpsvc.h:160
PString productNameHTML
Definition: httpsvc.h:167
Definition: httpsvc.h:277
#define PCLASSINFO(cls, par)
Declare all the standard PTLib class information.
Definition: object.h:1049
const PStringArray & GetSecuredKeys() const
Definition: httpsvc.h:139
PString gifHTML
Definition: httpsvc.h:168
PSocket * httpListeningSocket
Definition: httpsvc.h:155
#define PLIST(cls, T)
Declare a list class.
Definition: lists.h:442
This abstract class describes the authorisation mechanism for a Universal Resource Locator...
Definition: http.h:1002
This class defines an absolute time and date.
Definition: ptime.h:53
const PString & GetHomePage() const
Definition: httpsvc.h:135
void SetIgnoreSignatures(PBoolean ig)
Definition: httpsvc.h:142
PServiceHTTPString(const PURL &url, const PString &string, const PString &contentType)
Definition: httpsvc.h:410
PServiceHTTPString(const PURL &url, const PString &string, const PString &contentType, const PHTTPAuthority &auth)
Definition: httpsvc.h:413
const char * manufacturerName
Definition: httpsvc.h:75
PString copyrightHolder
Definition: httpsvc.h:169
This is a dictionary collection class of PString objects, keyed by another string.
Definition: pstring.h:2784
This class describes a full description for a file on the particular platform.
Definition: filepath.h:65
Comparison
Result of the comparison operation performed by the Compare() function.
Definition: object.h:1184
PServiceHTTPDirectory(const PURL &url, const PDirectory &dirname, PBoolean needSig=false)
Definition: httpsvc.h:454
PString manufacturersHomePage
Definition: httpsvc.h:165
PString macroKeyword
Definition: httpsvc.h:157
PServiceHTTPString(const PURL &url, const PHTTPAuthority &auth)
Definition: httpsvc.h:404
const PString & GetEMailAddress() const
Definition: httpsvc.h:136
PServiceHTTPFile(const PString &filename, const PFilePath &file, PBoolean needSig=false)
Definition: httpsvc.h:431
This class is a variation of a string that ignores case.
Definition: pstring.h:1708
PString copyrightEmail
Definition: httpsvc.h:171
PTEACypher::Key productKey
Definition: httpsvc.h:159
PBoolean needSignature
Definition: httpsvc.h:467
This object describes a HyperText Transport Protocol resource which is a single file.
Definition: http.h:1614
This is an array collection class of PString objects.
Definition: pstring.h:2024
const PTime & GetCompilationDate() const
Definition: httpsvc.h:134
Definition: httpsvc.h:397
const char * compilationDate
Definition: httpsvc.h:81
This object describes a HyperText Transport Protocol resource which is a string kept in memory...
Definition: http.h:1525
const char * macroName
Definition: httpsvc.h:363
void Main()
User override function for the main execution routine of the thread.
PINDEX myStackSize
Definition: httpsvc.h:57
This object describes a HyperText Transport Protocol resource which is a set of files in a directory...
Definition: http.h:1819
PHTTPServiceThread(PINDEX stackSize, PHTTPServiceProcess &app)
const char * productHTML
HTML for the product name, if NULL defaults to the productName variable.
Definition: httpsvc.h:91
BOOL PBoolean
Definition: object.h:102
Class to represent a directory in the operating system file system.
Definition: pdirect.h:182
Definition: httpsvc.h:308
PServiceHTTPFile(const PString &filename, PBoolean needSig=false)
Definition: httpsvc.h:429
int gifHeight
in the generated HTML.
Definition: httpsvc.h:97
CodeStatus buildStatus
AlphaCode, BetaCode or ReleaseCode.
Definition: httpsvc.h:79
const char * manufHomePage
WWW address of manufacturers home page.
Definition: httpsvc.h:89
A process type that runs as a "background" service.
Definition: svcproc.h:49
const char * email
contact email for manufacturer
Definition: httpsvc.h:90
Definition: httpsvc.h:191
int gifWidth
Size of GIF image, if zero then none is used.
Definition: httpsvc.h:96
PBoolean needSignature
Definition: httpsvc.h:447
PINDEX securedKeyCount
Definition: httpsvc.h:85
PMutex httpThreadsMutex
Definition: httpsvc.h:181
PTime compilationDate
Definition: httpsvc.h:164
PServiceMacro * link
Definition: httpsvc.h:365
PBoolean ShouldIgnoreSignatures() const
Definition: httpsvc.h:141
const PString & GetProductName() const
Definition: httpsvc.h:137
The character string class.
Definition: pstring.h:108
Definition: httpsvc.h:351
A socket that uses the TCP transport on the Internet Protocol.
Definition: tcpsock.h:44
PTEACypher::Key productKey
Poduct key for registration.
Definition: httpsvc.h:83
PHTTPServiceProcess & process
Definition: httpsvc.h:271
PThread * restartThread
Definition: httpsvc.h:177
Definition: httpsvc.h:425
PBoolean isMacroBlock
Definition: httpsvc.h:364
virtual Comparison Compare(const PObject &obj) const
Compare the two objects and return their relative rank.
const char * productName
Definition: httpsvc.h:74
Definition: httpform.h:891
PBoolean ignoreSignatures
Definition: httpsvc.h:162
PHTTPServiceProcess & process
Definition: httpsvc.h:58
This class defines a thread of execution in the system.
Definition: thread.h:66
WORD buildNumber
Definition: httpsvc.h:80
This class describes a name space that a Universal Resource Locator operates in.
Definition: http.h:58
const char * copyrightEmail
E-Mail address for copyright holder.
Definition: httpsvc.h:101
static PServiceMacro * list
Definition: httpsvc.h:366
This class describes a HyperText markup Language string as used by the World Wide Web and the PURL an...
Definition: html.h:49
PServiceHTTPDirectory(const PURL &url, const PDirectory &dirname, const PHTTPAuthority &auth, PBoolean needSig=false)
Definition: httpsvc.h:457
PServiceHTTPString(const PURL &url, const PString &string, const PHTTPAuthority &auth)
Definition: httpsvc.h:407
Definition: httpsvc.h:234
Definition: httpsvc.h:450
PServiceHTTPFile(const PString &filename, const PFilePath &file, const PHTTPAuthority &auth, PBoolean needSig=false)
Definition: httpsvc.h:437
static PThread * Current()
Get the currently running thread object instance.
PString manufacturersEmail
Definition: httpsvc.h:166
PServiceHTTPFile(const PString &filename, const PHTTPAuthority &auth, PBoolean needSig=false)
Definition: httpsvc.h:435
WORD minorVersion
Definition: httpsvc.h:78
const char * copyrightHolder
Name of copyright holder.
Definition: httpsvc.h:99
const PString & GetMacroKeyword() const
Definition: httpsvc.h:133
PString copyrightHomePage
Definition: httpsvc.h:170
WORD majorVersion
Definition: httpsvc.h:77
A network communications channel.
Definition: socket.h:58
PServiceHTTPString(const PURL &url, const PString &string)
Definition: httpsvc.h:401
A TCP/IP socket for the HyperText Transfer Protocol version 1.0.
Definition: http.h:762
This object describes a HyperText Transport Protocol request.
Definition: http.h:968
Reusability
Flags to reuse of port numbers in Listen() function.
Definition: socket.h:84
Ultimate parent class for all objects in the class library.
Definition: object.h:1118
PHTTPServiceProcess & process
Definition: httpsvc.h:228
This object describes the connectiono associated with a HyperText Transport Protocol request...
Definition: http.h:665
const char * copyrightHomePage
Home page for copyright holder.
Definition: httpsvc.h:100
This class describes a Universal Resource Locator.
Definition: url.h:54
ThreadList httpThreads
Definition: httpsvc.h:180
PServiceHTTPFile(const PString &filename, const PString &file, PBoolean needSig=false)
Definition: httpsvc.h:433
const PTEACypher::Key & GetProductKey() const
Definition: httpsvc.h:138
const PTEACypher::Key & GetSignatureKey() const
Definition: httpsvc.h:140
MacroOptions
Definition: httpsvc.h:328
PHTTPSpace httpNameSpace
Definition: httpsvc.h:156
Definition: httpform.h:804