Classes |
class | DebugEnabler |
| A holder for a debug level. More...
|
class | Debugger |
| An object that logs messages on creation and destruction. More...
|
struct | TokenDict |
class | GenObject |
class | RefObject |
class | RefPointerBase |
| Internal helper class. More...
|
class | RefPointer |
| Templated smart pointer class. More...
|
class | GenPointer |
| Templated pointer that can be inserted in a list. More...
|
class | ObjList |
| An object list class. More...
|
class | ObjVector |
| A vector holding GenObjects. More...
|
class | Array |
| A list based Array. More...
|
class | String |
| A C-style string handling class. More...
|
class | Regexp |
| A regexp matching class. More...
|
class | CapturedEvent |
| A captured event string with a debug level. More...
|
class | NamedString |
| A named string class. More...
|
class | NamedPointer |
| A named pointer class. More...
|
class | HashList |
| A hashed object list class. More...
|
class | ListIterator |
| Class used to iterate the items of a list. More...
|
class | Time |
| A time holding class. More...
|
class | Random |
| Pseudo random number generator. More...
|
class | DataBlock |
| A class that holds just a block of raw data. More...
|
class | MD5 |
| A standard MD5 digest calculator. More...
|
class | SHA1 |
| A standard SHA1 digest calculator. More...
|
class | Base64 |
| Base64 encoder/decoder class. More...
|
class | NamedList |
| A named string container class. More...
|
class | NamedIterator |
| NamedList parameters iterator. More...
|
class | URI |
| Encapsulation for an URI. More...
|
class | Lockable |
| Abstract interface for lockable objects. More...
|
class | Mutex |
| Mutex support. More...
|
class | MutexPool |
| A Mutex pool. More...
|
class | Semaphore |
| Semaphore implementation. More...
|
class | Lock |
| Ephemeral mutex or semaphore locking object. More...
|
class | Lock2 |
| Ephemeral double mutex locking object. More...
|
class | Runnable |
| Encapsulates a runnable task. More...
|
class | Thread |
| Thread support class. More...
|
class | SocketAddr |
| A socket address holder. More...
|
class | SocketFilter |
| A filter for received socket data. More...
|
class | Stream |
| An abstract stream class capable of reading and writing. More...
|
class | MemoryStream |
| A Stream that operates on DataBlocks in memory. More...
|
class | File |
| A stream file class. More...
|
class | Socket |
| A generic socket class. More...
|
class | SctpSocket |
| Abstract SCTP Socket. More...
|
class | DnsRecord |
| A DNS record. More...
|
class | SrvRecord |
| A SRV record. More...
|
class | NaptrRecord |
| A NAPTR record. More...
|
class | Resolver |
| DNS services. More...
|
class | Cipher |
| An abstract cipher. More...
|
class | Compressor |
| An abstract data (de)compressor. More...
|
class | SysUsage |
| A class exposing system resources usage. More...
|
class | MimeHeaderLine |
| MIME header line. More...
|
class | MimeAuthLine |
| MIME authentication line. More...
|
class | MimeBody |
| Abstract MIME data holder. More...
|
class | MimeMultipartBody |
| MIME multipart container. More...
|
class | MimeSdpBody |
| MIME for application/sdp. More...
|
class | MimeBinaryBody |
| MIME for obscure binary data. More...
|
class | MimeStringBody |
| MIME for one text string. More...
|
class | MimeLinesBody |
| MIME for multiple text lines. More...
|
class | Configuration |
| Configuration file handling. More...
|
class | Message |
| A message container class. More...
|
class | MessageHandler |
| A message handler. More...
|
class | MessageReceiver |
| A multiple message receiver. More...
|
class | MessageRelay |
| A message handler relay. More...
|
class | MessageNotifier |
| Post-dispatching message hook. More...
|
class | MessagePostHook |
| Post-dispatching message hook that can be added to a list. More...
|
class | MessageDispatcher |
| A message dispatching hub. More...
|
class | Plugin |
| Plugin support. More...
|
class | EngineCheck |
| Engine checker interface. More...
|
class | Engine |
| Engine globals. More...
|
struct | ImageInfo |
struct | FormatInfo |
struct | TranslatorCaps |
class | FormatRepository |
| A repository for media formats. More...
|
class | DataFormat |
| A Data format. More...
|
class | DataNode |
class | DataConsumer |
class | DataSource |
class | ThreadedSource |
| Data source with own thread. More...
|
class | DataTranslator |
| An unidirectional data translator (codec) More...
|
class | TranslatorFactory |
| An unidirectional data translator (codec) More...
|
class | DataEndpoint |
| A data transfer endpoint capable of sending and/or receiving data. More...
|
class | CallEndpoint |
| An abstract call endpoint. More...
|
class | Module |
| A Plugin that implements a module. More...
|
class | Channel |
| An abstract communication channel. More...
|
class | Driver |
| A Channel driver module. More...
|
class | Router |
| Call routing thread. More...
|
class | Window |
| An abstract user interface window. More...
|
class | UIWidget |
class | UIFactory |
| A static user interface creator. More...
|
class | Client |
| Class that runs the User Interface. More...
|
class | ClientChannel |
| Channel used by client programs. More...
|
class | ClientDriver |
| Base Driver with client specific functions. More...
|
class | ClientLogic |
| Base class for all client logics. More...
|
class | DefaultLogic |
| The client's default logic. More...
|
class | ClientAccount |
| An account. More...
|
class | ClientAccountList |
| A client account list. More...
|
class | ClientContact |
| A client contact. More...
|
class | ClientResource |
| A client contact's resource. More...
|
class | MucRoomMember |
| A MUC room member. More...
|
class | MucRoom |
| An account's MUC room contact. More...
|
class | DurationUpdate |
| An UI time updater. More...
|
class | ClientSound |
| A sound file. More...
|
class | OctetString |
| Helper class for operations with octet strings. More...
|
class | AsnObject |
| Base Class for ASN.1 objects. More...
|
class | AsnValue |
| An ASN.1 value. More...
|
class | AsnMib |
class | AsnMibTree |
class | ASNObjId |
class | AsnTag |
| Class for ASN.1 tags. More...
|
class | ASNLib |
| Class containing functions for decoding/encoding ASN.1 basic data types. More...
|
class | IAXInfoElement |
| A single IAX2 Information Element. More...
|
class | IAXInfoElementString |
| A single IAX2 text Information Element. More...
|
class | IAXInfoElementNumeric |
| A single IAX2 numeric Information Element. More...
|
class | IAXInfoElementBinary |
| A single IAX2 numeric Information Element. More...
|
class | IAXIEList |
| Information Element container. More...
|
class | IAXAuthMethod |
| Wrapper class for authentication methods values. More...
|
class | IAXFormat |
| Wrapper class for audio and video formats. More...
|
class | IAXControl |
| Wrapper class for subclasses of frames of type IAX. More...
|
class | IAXFrame |
| This class holds an IAX frame. More...
|
class | IAXFullFrame |
| This class holds an IAX full frame. More...
|
class | IAXFrameOut |
| This class holds an outgoing IAX full frame. More...
|
class | IAXMetaTrunkFrame |
| Meta trunk frame. More...
|
class | IAXMediaData |
| IAX2 transaction media data. More...
|
class | IAXTransaction |
| An IAX2 transaction. More...
|
class | IAXEvent |
| Event class. More...
|
class | IAXEngine |
| IAX engine class. More...
|
class | StringArray |
| A String array. More...
|
class | XMPPNamespace |
| XMPP namespaces. More...
|
class | XMPPError |
| XMPP errors. More...
|
class | XmlTag |
| XML known tags array. More...
|
class | JabberID |
| A Jabber ID. More...
|
class | JIDIdentity |
| A JID identity. More...
|
class | JIDIdentityList |
| A list of JID identities. More...
|
class | XMPPFeature |
| A feature. More...
|
class | XMPPFeatureSasl |
| A SASL feature. More...
|
class | XMPPFeatureCompress |
| A compression feature. More...
|
class | XMPPFeatureList |
| JID feature list. More...
|
class | XMPPUtils |
| General XMPP utilities. More...
|
class | XMPPDirVal |
| Direction flags. More...
|
class | XmlElementOut |
| An outgoing XML element. More...
|
class | SASL |
| SASL authentication mechanism. More...
|
class | JBEvent |
| A Jabber stream event. More...
|
class | JBStream |
| A Jabber stream. More...
|
class | JBClientStream |
| A client to server stream. More...
|
class | JBServerStream |
| A server to server stream. More...
|
class | JBClusterStream |
| A cluster stream. More...
|
class | JBRemoteDomainDef |
| Options and connect settings for a remote domain. More...
|
class | JBConnect |
| A socket connector. More...
|
class | JBEngine |
| A Jabber engine. More...
|
class | JBServerEngine |
| A Jabber server engine. More...
|
class | JBClientEngine |
| A Jabber client engine. More...
|
class | JBStreamSet |
| A set of streams to be processed in an uniform way. More...
|
class | JBStreamSetProcessor |
| Specialized stream processor. More...
|
class | JBStreamSetReceive |
| Specialized stream data receiver. More...
|
class | JBStreamSetList |
| A list of stream sets. More...
|
class | JBEntityCaps |
| Entity capability. More...
|
class | JBEntityCapsList |
| Entity capability list manager. More...
|
class | JGRtpMedia |
| A Jingle data payload. More...
|
class | JGCrypto |
| Content crypto data. More...
|
class | JGRtpMediaList |
| A List of Jingle RTP data payloads. More...
|
class | JGRtpCandidate |
| A RTP transport candidate. More...
|
class | JGRtpCandidateP2P |
| A RTP transport candidate. More...
|
class | JGRtpCandidates |
| A list of RTP transport candidates. More...
|
class | JGSessionContent |
| A Jingle session content. More...
|
class | JGStreamHost |
| A Jingle file transfer stream host. More...
|
class | JGSession |
| A basic Jingle session. More...
|
class | JGSession0 |
| The version 0 of a jingle session. More...
|
class | JGSession1 |
| The version 1 of a jingle session. More...
|
class | JGEvent |
| A Jingle event. More...
|
class | JGEngine |
| A Jingle engine. More...
|
class | JGSentStanza |
| Send stanza timeout info. More...
|
class | MGCPMessage |
| An MGCP command or response. More...
|
class | MGCPTransaction |
| An MGCP transaction. More...
|
class | MGCPEndpointId |
| An endpoint id. More...
|
class | MGCPEpInfo |
| Remote endpoint info class. More...
|
class | MGCPEndpoint |
| An MGCP endpoint. More...
|
class | MGCPEvent |
| An MGCP event. More...
|
class | MGCPEngine |
| An MGCP engine. More...
|
class | BitAccumulator |
| A 1-byte length bit accumulator. More...
|
class | FSKModem |
| A Frequency Shift Keying modem. More...
|
class | UART |
| An UART receiver/transmitter. More...
|
class | UARTBuffer |
| A fixed length byte accumulator used by an UART. More...
|
class | ETSIModem |
| An analog signal processor as defined by ETSI. More...
|
class | CallInfo |
class | CallList |
class | MultiRouter |
class | ChanAssist |
class | ChanAssistList |
class | RTPProcessor |
| Base class to ease creation of RTP forwarders. More...
|
class | RTPGroup |
| A group of RTP processors handled by the same thread. More...
|
class | RTPTransport |
| Low level transport for RTP and RTCP. More...
|
class | RTPDejitter |
| Dejitter buffer for incoming data packets. More...
|
class | RTPBaseIO |
| Common send/recv variables holder. More...
|
class | RTPReceiver |
| RTP/RTCP packet receiver. More...
|
class | RTPSender |
| RTP/RTCP packet sender. More...
|
class | UDPSession |
| RTP or UDPTL session. More...
|
class | RTPSession |
| Full RTP session. More...
|
class | UDPTLSession |
| UDPTL session. More...
|
class | RTPSecure |
| SRTP implementation. More...
|
class | ExpExtender |
| ExpEvaluator extending interface. More...
|
class | ExpEvaluator |
| An expression parser and evaluator. More...
|
class | ExpOperation |
| A single operation in an expression. More...
|
class | ExpFunction |
| Helper class to declare a native function. More...
|
class | ExpWrapper |
| Object wrapper for evaluation. More...
|
class | TableEvaluator |
| An SQL-like table evaluator. More...
|
class | ScriptContext |
| Script execution context. More...
|
class | ScriptCode |
| Script parsed code. More...
|
class | ScriptStack |
| Script runtime stack. More...
|
class | ScriptRun |
| Script runtime execution. More...
|
class | ScriptParser |
| Abstract script parser. More...
|
class | JsObject |
| Javascript Object. More...
|
class | JsFunction |
| Javascript Function. More...
|
class | JsParser |
| Javascript parser. More...
|
class | SDPMedia |
| SDP media description. More...
|
class | SDPSession |
| A holder for a SDP session. More...
|
class | SDPParser |
| A SDP parser. More...
|
class | SignallingDumper |
| A generic data dumper. More...
|
class | SignallingDumpable |
| A data dumping capable component. More...
|
class | SignallingNotifier |
| Notifier class. More...
|
class | SignallingTimer |
| A signalling timer. More...
|
class | SignallingCounter |
| A counter class. More...
|
class | SignallingFactory |
| A signalling component factory. More...
|
class | SignallingComponent |
| Abstract signalling component that can be managed by the engine. More...
|
class | SignallingEngine |
| Main signalling component holder. More...
|
class | SignallingMessage |
| Abstract signalling message. More...
|
class | SignallingCallControl |
| Abstract phone call signalling. More...
|
class | SignallingCall |
| Abstract single phone call. More...
|
class | SignallingEvent |
| A single signalling related event. More...
|
class | SignallingCircuitEvent |
| A single signalling circuit related event. More...
|
class | SignallingCircuit |
| Abstract data circuit used by signalling. More...
|
class | SignallingCircuitRange |
| A circuit range (set of circuits) More...
|
class | SignallingCircuitGroup |
| Group of data circuits used by signalling. More...
|
class | SignallingCircuitSpan |
| A span in a circuit group. More...
|
class | SignallingInterface |
| Abstract digital signalling interface (hardware access) More...
|
class | SignallingReceiver |
| Abstract Layer 2 packet data receiver. More...
|
struct | SignallingFlags |
| Description of parameter flags. More...
|
class | SignallingUtils |
| Library wide services and data provider. More...
|
class | SignallingMessageTimer |
| A pending signalling message. More...
|
class | SignallingMessageTimerList |
| A pending signalling message list. More...
|
class | AnalogLine |
| An analog line. More...
|
class | AnalogLineEvent |
| A single analog line related event. More...
|
class | AnalogLineGroup |
| A group of analog lines. More...
|
class | SS7PointCode |
| SS7 Code Point. More...
|
class | SS7Label |
| SS7 Routing Label. More...
|
class | SS7MSU |
| A block of data that holds a Message Signal Unit. More...
|
class | HandledMSU |
| MSU handling result codes (Q.704 15.17.5 and more) More...
|
class | SIGTransport |
| An abstract SIGTRAN transport layer. More...
|
class | SIGTRAN |
| Abstract SIGTRAN user adaptation component. More...
|
class | SIGAdaptation |
| Abstract SIGTRAN User Adaptation component. More...
|
class | SIGAdaptClient |
| Client side SIGTRAN User Adaptation component. More...
|
class | SIGAdaptServer |
| Server side SIGTRAN User Adaptation component. More...
|
class | SIGAdaptUser |
| Abstract SIGTRAN Adaptation user. More...
|
class | ASPUser |
| Abstract SS7 ASP user interface. More...
|
class | GTT |
| Abstract SS7 SCCP GTT interface. More...
|
class | SCCP |
| Abstract SS7 SCCP interface. More...
|
class | SubsystemStatusTest |
class | SCCPUser |
| Abstract SS7 SCCP user interface. More...
|
class | TCAPUser |
| Abstract SS7 TCAP user interface. More...
|
class | SS7L2User |
| Abstract user of SS7 layer 2 (data link) message transfer part. More...
|
class | SS7Layer2 |
| Abstract SS7 layer 2 (data link) message transfer part. More...
|
class | SS7Route |
| A SS7 MSU route. More...
|
class | SS7L3User |
| Abstract user of SS7 layer 3 (network) message transfer part. More...
|
class | SS7Layer3 |
| Abstract SS7 layer 3 (network) message transfer part. More...
|
class | SS7Layer4 |
| Abstract SS7 layer 4 (application) protocol. More...
|
class | SS7Router |
| Main router for SS7 message transfer and applications. More...
|
class | SS7M2PA |
| SIGTRAN MTP2 User Peer-to-Peer Adaptation Layer. More...
|
class | SS7M2UAClient |
| Client side of SIGTRAN SS7 MTP2 UA. More...
|
class | SS7M2UA |
| SIGTRAN MTP2 User Adaptation Layer. More...
|
class | SS7M3UA |
| SIGTRAN MTP3 User Adaptation Layer. More...
|
class | SS7MTP2 |
| SS7 Layer 2 implementation on top of a hardware interface. More...
|
class | SS7MTP3 |
| SS7 Layer 3 implementation on top of Layer 2. More...
|
class | SS7MsgSNM |
| SNM signalling message. More...
|
class | SS7MsgMTN |
| MTN signalling message. More...
|
class | SS7MsgISUP |
| ISUP signalling message. More...
|
class | SS7Management |
| SS7 SNM implementation. More...
|
class | SS7Testing |
| SS7 MTP Test Traffic implementation. More...
|
class | SS7ISUPCall |
| An SS7 ISUP call. More...
|
class | SS7ISUP |
| SS7 ISUP implementation. More...
|
class | SS7BICC |
| SS7 BICC implementation. More...
|
class | SS7TUP |
| SS7 TUP implementation. More...
|
class | SCCPManagement |
| Abstract SS7 SCCP Management. More...
|
class | SS7MsgSCCP |
class | SS7MsgSccpReassemble |
class | SccpSubsystem |
class | RemoteBackupSubsystem |
class | SccpLocalSubsystem |
class | SccpRemote |
class | SS7AnsiSccpManagement |
class | SS7ItuSccpManagement |
class | SS7SCCPDataSegment |
class | SS7SCCP |
| SS7 SCCP implementation. More...
|
class | SS7SUA |
| SIGTRAN SCCP User Adaptation Layer. More...
|
class | SS7TCAPMessage |
| TCAP message wrapper. More...
|
class | SS7TCAP |
| SS7 TCAP implementation. More...
|
class | SS7TCAPError |
class | SS7TCAPTransaction |
| SS7 TCAP transaction implementation. More...
|
class | SS7TCAPComponent |
| SS7 TCAP component implementation. More...
|
class | SS7TCAPANSI |
| ANSI SS7 TCAP implementation. More...
|
class | SS7TCAPTransactionANSI |
| ANSI SS7 TCAP transaction implementation. More...
|
class | SS7TCAPITU |
| ITU-T SS7 TCAP implementation. More...
|
class | SS7TCAPTransactionITU |
| ITU-T SS7 TCAP transaction implementation. More...
|
class | ISDNLayer2 |
| Abstract ISDN layer 2 (Q.921) message transport. More...
|
class | ISDNLayer3 |
| Abstract ISDN layer 3 (Q.931) message transport. More...
|
class | ISDNFrame |
| An ISDN frame. More...
|
class | ISDNQ921 |
| ISDN Q.921 implementation on top of a hardware interface. More...
|
class | ISDNQ921Management |
| ISDN Layer 2 BRI TEI management or PRI with D-channel(s) backup. More...
|
class | ISDNQ921Passive |
| Stateless pasive ISDN Q.921 implementation on top of a hardware interface. More...
|
class | ISDNIUAClient |
| Client side of SIGTRAN ISDN Q.921 UA. More...
|
class | ISDNIUA |
| SIGTRAN ISDN Q.921 User Adaptation Layer. More...
|
class | ISDNQ931IE |
| A Q.931 ISDN Layer 3 message Information Element. More...
|
class | ISDNQ931Message |
| A Q.931 ISDN Layer 3 message. More...
|
class | ISDNQ931IEData |
| A Q.931 message IE data processor. More...
|
class | ISDNQ931State |
| Q.931 ISDN call and call controller state. More...
|
class | ISDNQ931Call |
| A Q.931 ISDN call. More...
|
class | ISDNQ931CallMonitor |
| A Q.931 ISDN call monitor. More...
|
class | ISDNQ931ParserData |
| Q.931 message parser data. More...
|
class | ISDNQ931 |
| ISDN Q.931 implementation on top of Q.921. More...
|
class | ISDNQ931Monitor |
| ISDN Q.931 implementation on top of Q.921 of call controller monitor. More...
|
class | SIPParty |
class | SIPMessage |
| A container and parser for SIP messages. More...
|
class | SIPDialog |
| SIP Dialog object. More...
|
class | SIPTransaction |
| A class holding one SIP transaction. More...
|
class | SIPEvent |
| A SIP event as retrieved from engine. More...
|
class | SIPEngine |
| The SIP engine and transaction list. More...
|
struct | XmlEscape |
class | XmlSaxParser |
| Serial Access XML Parser. More...
|
class | XmlParent |
| Xml Parent. More...
|
class | XmlDomParser |
| Document Object Model XML Parser. More...
|
class | XmlChild |
| Xml Child. More...
|
class | XmlDeclaration |
| Xml Declaration. More...
|
class | XmlFragment |
| Xml Fragment. More...
|
class | XmlDocument |
| Xml Document. More...
|
class | XmlElement |
| Xml Element. More...
|
class | XmlComment |
| Xml Comment. More...
|
class | XmlCData |
| Xml Declaration. More...
|
class | XmlText |
| Xml Declaration. More...
|
class | XmlDoctype |
Typedefs |
typedef int(* | EngineLoop )() |
Enumerations |
enum | DebugLevel {
DebugFail = 0,
DebugTest = 1,
DebugGoOn = 2,
DebugConf = 3,
DebugStub = 4,
DebugWarn = 5,
DebugMild = 6,
DebugCall = 7,
DebugNote = 8,
DebugInfo = 9,
DebugAll = 10
} |
Functions |
void | abortOnBug () |
bool | abortOnBug (bool doAbort) |
int | debugLevel () |
int | debugLevel (int level) |
bool | debugAt (int level) |
const char * | debugColor (int level) |
void | DDebug (int level, const char *format,...) |
void | DDebug (const char *facility, int level, const char *format,...) |
void | DDebug (const DebugEnabler *local, int level, const char *format,...) |
void | XDebug (int level, const char *format,...) |
void | XDebug (const char *facility, int level, const char *format,...) |
void | XDebug (const DebugEnabler *local, int level, const char *format,...) |
void | NDebug (int level, const char *format,...) |
void | NDebug (const char *facility, int level, const char *format,...) |
void | NDebug (const DebugEnabler *local, int level, const char *format,...) |
void | Debug (int level, const char *format,...) |
void | Debug (const char *facility, int level, const char *format,...) |
void | Debug (const DebugEnabler *local, int level, const char *format,...) |
void | Output (const char *format,...) |
constant | YSTRING (const char *string) |
void | YCLASS (class type, class base) |
void | YCLASS2 (class type, class base1, class base2) |
void | YCLASS3 (class type, class base1, class base2, class base3) |
void | YCLASSIMP (class type, class base) |
void | YCLASSIMP2 (class type, class base1, class base2) |
void | YCLASSIMP3 (class type, class base1, class base2, class base3) |
class * | YOBJECT (class type, GenObject *pntr) |
void | YNOCOPY (class type) |
void | destruct (GenObject *obj) |
template<class Obj > |
void | destruct (Obj *&obj) |
const char * | c_str (const String *str) |
const char * | c_safe (const char *str) |
const char * | c_safe (const String *str) |
bool | null (const char *str) |
bool | null (const String *str) |
String | operator+ (const String &s1, const String &s2) |
String | operator+ (const String &s1, const char *s2) |
String | operator+ (const char *s1, const String &s2) |
const char * | strcpy (String &dest, const char *src) |
const char * | strcat (String &dest, const char *src) |
int | lookup (const char *str, const TokenDict *tokens, int defvalue=0, int base=0) |
const char * | lookup (int value, const TokenDict *tokens, const char *defvalue=0) |
void | INIT_PLUGIN (class pclass) |
bool | UNLOAD_PLUGIN (bool unloadNow) |
bool | isE164 (const char *str) |
String & | operator<< (String &str, const SS7PointCode &cp) |
String & | operator<< (String &str, const SS7Label &label) |
const char * | uncompactForm (const char *header) |
const char * | compactForm (const char *header) |
Variables |
TokenDict * | SIPResponses |
Holds all Telephony Engine related classes.
util.h Yet Another SIP Stack This file is part of the YATE Project http://YATE.null.ro
Yet Another Telephony Engine - a fully featured software PBX and IVR Copyright (C) 2004-2006 Null Team
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.