WWW Interface Design

Revision A - 1 APR 1996

 NamePositionE-mail address
Author(s):Peter Wikström pt93pw@pt.hk-r.se
Responsible:Johan SassnerTeam Managerpt93js@pt.hk-r.se
To:SIWProject Team 
Cc:SAIDAProjectsaida@pt.hk-r.se

Abstract

The WWW interface subsystem of the SAIDA project offers the functionality of remotely monitoring and changing the settings of home appliances via WWW to customers of Sydkraft.

1 Outline

1.1 Requirements

All the requirements in the WWW Interface requirements specification [SAIDA 96-1] has to be met by implementing the design presented in this document.

1.2 Subsystem boundaries

The WWW interface subsystem presents the ability for a customer of Sydkraft to remotely monitor and change the status of the appliances in their homes.

Technically speaking, this subsystem interacts with the WWW server and the Data Server in the SAIDA system environment. The WWW interface uses the Data Server to get and set the values of the customer's appliances, and the WWW server to present data and receive input from the customer.

The system will be implemented as two subsystems of which one gets data from the Data Server and presents it to the customer, and the other gets information from a HTML-page and sets the specified values of variables in the Data Server.

2 Extensions to HTML

In order to be able to implement the necessary functionality of the WWW interface, some extensions need to be made to the HTML language. HTML combined with these extensions will be called SEHTML (SAIDA Extended HyperText Markup Language).

2.1 SGET

This tag makes it possible to retrieve data from the Data Server for a specific variable. When the value of the variable has been retrieved, the SGET tag in the HTML code will be substituted with this value.

2.1.1 Syntax

<SGET VARIABLE="Unique name of the variable">

2.1.2 Tag

<SGET>

2.1.3 End Tag

No end tag is necessary.

2.1.4 Parameters

2.1.4.1 VARIABLE
Definition
The variable name in a format which can be understood by the Data Server.

Description
The variable name to get the value of from the Data Server.

2.2 SSET

This tag makes it possible to set a value in the Data Server for a specific variable.

2.2.1 Syntax

<SSET VARIABLE="Unique name of the variable" VALUE="Value of the variable">

2.2.2 Tag

<SSET>

2.2.3 End Tag

No end tag is necessary.

2.2.4 Parameters

2.2.4.1 VARIABLE
Definition
The variable name in a format which can be understood by the Data Server.

Description
The variable name to set to a specific value through the use of the Data Server.

2.2.4.2 VALUE
Definition
A valid value for the variable specified in the set-tag to be set to. The definition of valid depends on which variable it applies to. If the value was considered invalid by the Data Server, an error-message is expected to be returned from it.

Description
Value to ask the Data Server to set the previously specified variable to.

2.3 SERR

This tag specifies where to place error messages returned from the Data Server in a HTML page

2.3.1 Syntax

<SERR>

2.3.2 Tag

<SERR>

2.3.3 End Tag

No end tag is necessary.

2.3.4 Parameters

No parameters exist for this tag.

2.4 IF

NOTE: This tag is not to be implemented at this time due to time budget constraints.

By using this tag, conditional actions can be achieved, i.e. the execution of actions which depend on if a condition has been fulfilled or not. The action could be anything which is allowed in standard HTML syntax, such as only showing links or text if a certain condition has been met, or get or set a variable in the Data Server depending on the condition.

2.4.1 Syntax

<IF VARIABLE="Name" CONDITION="Comparison operator" VALUE="Variable value">
ACTION
</IF>
<IF VARIABLE="Name" CONDITION="Comparison operator" VARIABLE="Name">
ACTION
</IF>

2.4.2 Tag

<IF>

2.4.3 End Tag

</IF>

2.4.4 Parameters

2.4.4.1 VARIABLE
Definition
The variable name in a format which can be understood by the Data Server.

Description
The variable name to compare against a certain condition.

2.4.4.2 CONDITION
Definition
A comparison operator which evaluates to either true or false. Valid operators are (==, !=, <, <=, >, >=).

Description
A condition which has to be fulfilled for the if-statement to be executed.

2.4.4.3 VALUE
Definition
The value for the variable specified in the if-tag to be compared against.

Description
The value to compare the specified variable against.

2.5 INCLUDE

NOTE: This tag is not to be implemented at this time due to time budget constraints.

This tag makes it possible to include another HTML/SEHTML-file into the one which is being parsed by the SEHTMLParser entity.

2.5.1 Syntax

<INCLUDE FILE="path/filename.extension">
</INCLUDE>

2.5.2 Tag

<INCLUDE>

2.5.3 End Tag

</INCLUDE>

2.5.4 Parameters

2.5.4.1 FILE
Definition
Filename according to the standard in [CQM 96-1].

Description
The name of the file to include into the file being parsed by the SEHTMLParser.

3 Global Interface Entities

3.1 Generator.exe

This binary contains the functionality for parsing a template SEHTML page, getting information on the appliances of a customer, and presenting this information as a HTML page.
The entities used by this entity are:

3.1.1 Global Interface Specification

This entity is invoked in as a cgi-bin script when a user selects a specified link in a web-browser.
The following method is externally accessible:

3.1.2 Subsystem Interface Specification

This entity offers no methods to other entities within the subsystem.

3.1.3 Internal Interface Specification

This entity has no internal methods.

3.1.4 Traceability

3.1.4.1 Backwards
The requirements met by this entity are:
[WWW_F1], [WWW_F3], [WWW_A1], in [SAIDA 96-1].

3.1.4.2 Forwards
The implementation of this entity can be found in the following file:

3.1.5 Attributes

3.1.5.1 SCgi theCgi
3.1.5.2 SGen theGen
3.1.5.3 SClients theClients
3.1.5.4 SHTMLPage* thePage

3.1.6 Methods

This entity has no methods.

3.2 Updator.exe

This binary contains the functionality for parsing a HTML page containing forms, updating information on the appliances of a customer and presenting possible error-information as a HTML page.
The entities used by this entity are:

3.2.1 Global Interface Specification

This entity is invoked in as a cgi-bin script when a user selects a specified link in a web-browser.
The following method is externally accessible:

3.2.2 Subsystem Interface Specification

This entity offers no methods to other entities within the subsystem.

3.2.3 Internal Interface Specification

This entity has no internal methods.

3.2.4 Traceability

3.2.4.1 Backwards
The requirements met by this entity are:
[WWW_F2], [WWW_F4], [WWW_A1], in [SAIDA 96-1].

3.2.4.2 Forwards
The implementation of this entity can be found in the following file:

3.2.5 Attributes

3.2.5.1 SCgi theCgi
3.2.5.2 SGen theGen
3.2.5.3 SClients theClients
3.2.5.4 SHTMLPage* thePage

3.2.6 Methods

This entity has no methods.

3.3 SC_ClientInterface

This entity contains the client interface functionality towards the Data Server. It is through this entity that the calls to/from the Data Server passes to [3.1], "Generator.exe" and [3.2], "Updator.exe".

3.3.1 Global Interface Specification

There are no externally accessible methods.

3.3.2 Subsystem Interface Specification

The following methods are externally accessible:

3.3.3 Internal Interface Specification

This entity has no internal methods.

3.3.4 Traceability

3.3.4.1 Backwards
The requirements met by this entity are:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], [WWW_A1], in [SAIDA 96-1].

3.3.4.2 Forwards
The implementation of this entity can be found in the following file:

3.3.5 Attributes

3.3.5.1 ISC_Export serverStub

3.3.6 Methods

3.3.6.1 SC_ClientInterface ( void )
3.3.6.2 ~SC_ClientInterface ( void )
3.3.6.3 short Get ( CString& name, CString& value, CString& msg )
3.3.6.4 short Set ( CString& name, CString& value, CString& msg )

4 Internal entities

4.1 SGen

Presents an HTML page to the customer with information of current status of his/her appliances which it gets from the Data Server according to information it reads from a SEHTML template file.

4.1.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.1.2 Internal Interface Specification

No methods are acccessible only to instances of this entity.

4.1.3 Traceability

4.1.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F3], in [SAIDA 96-1].

4.1.3.2 Forwards
The implementation of this entity can be found in the files:

4.1.4 Attributes

4.1.4.1 SHTMLPage* myHTMLPage

4.1.5 Methods

4.1.5.1 SGen ( void )
4.1.5.2 ~SGen ( void )
4.1.5.3 SHTMLPage* Generate ( CString anUID, CString aTemplate )

4.2 SLexer

A class which reads a SEHTML template page and separates regular SEHTML code from HTML code. HTML code is copied to a new HTML page, and the SEHTML tags cause methods to be called and the result of those methods are copied to the new HTML page.

4.2.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.2.2 Internal Interface Specification

These methods are only accessible to instances of this entity:

4.2.3 Traceability

4.2.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.2.3.2 Forwards
The implementation of this entity can be found in the files:

4.2.4 Attributes

4.2.4.1 CString myString
4.2.4.2 STokenList* myTokenList
4.2.4.3 int myCurrentID

4.2.5 Methods

4.2.5.1 SLexer ( CString aTemplate )
4.2.5.2 ~SLexer ( void )
4.2.5.3 STokenList* Tokenize ( void )
4.2.5.4 void Tokenize ( CString aToken, int aPosition )
4.2.5.5 CString GenerateID ( void )

4.3 SClients

4.3.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.3.2 Internal Interface Specification

These methods are accessible only to instances of this entity:

4.3.3 Traceability

4.3.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], in [SAIDA 96-1].

4.3.3.2 Forwards
The implementation of this entity can be found in the files:

4.3.4 Attributes

4.3.4.1 CList<CString, CString>* myClients

4.3.5 Methods

4.3.5.1 SClients ( void )
4.3.5.2 ~SClients ( void )
4.3.5.3 BOOL Validate ( CString aName, CString aPasswd )
4.3.5.4 CString UpdTemplate ( CString aName )
4.3.5.5 CString GenTemplate ( CString aName )
4.3.5.6 CString Password ( CString aName )
4.3.5.7 int GetCount ( void )
4.3.5.8 CString GetEntry ( int anIndex)
4.3.5.9 void SplitEntry ( CString anInputString, CString* aStringArray, char aSeparator )

4.4 SHTMLPage

A class which encapsulates the concept of a HTML page.

4.4.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.4.2 Internal Interface Specification

These methods are only accessible to instances of this entity:

4.4.3 Traceability

4.4.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], in [SAIDA 96-1].

4.4.3.2 Forwards
The implementation of this entity can be found in the files:

4.4.4 Attributes

4.4.4.1 STokenList* myTokenList
4.4.4.2 SLexer* myLexer
4.4.4.3 CString myTemplate
4.4.4.4 CString myUID

4.4.5 Methods

4.4.5.1 SHTMLPage ( void )
4.4.5.2 SHTMLPage ( CString anUID, CString aTemplate )
4.4.5.3 ~SHTMLPage ( void )
4.4.5.4 void Insert ( SToken* aToken )
4.4.5.5 void Insert ( CString aString )
4.4.5.6 friend ostream& operator << ( ostream& anOut, SHTMLPage& aPage )
4.4.5.7 friend ostream& operator << ( ostream& anOut, SHTMLPage* aPage )
4.4.5.8 CString ReadTemplate ( void )

4.5 SToken

A class which encapsulates tokens which can be either SEHTML tags from a SEHTML template page, or variables with their corresponding type and value.

4.5.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.5.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.5.3 Traceability

4.5.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], in [SAIDA 96-1].

4.5.3.2 Forwards
The implementation of this entity can be found in the files:

4.5.4 Attributes

4.5.4.1 CString myName
4.5.4.2 CString myValue

4.5.5 Methods

4.5.5.1 SToken ( void )
4.5.5.2 ~SToken ( void )
4.5.5.3 virtual CString Type ( void )
4.5.5.4 CString Var ( void )
4.5.5.5 CString Var ( CString aName )
4.5.5.6 CString Val ( void )
4.5.5.7 CString Val ( CString aValue )
4.5.5.8 void SetAll ( CString aVar, CString aVal )
4.5.5.9 virtual ostream& Dump ( ostream& anOut )

4.6 STokenHTML

This entity inherits functionality from entity [4.5], "SToken".

4.6.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.6.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.6.3 Traceability

4.6.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.6.3.2 Forwards
The implementation of this entity can be found in the files:

4.6.4 Attributes

4.6.4.1 const CString myType

4.6.5 Methods

4.6.5.1 STokenHTML ( void )
4.6.5.2 STokenHTML ( CString aVar )
4.6.5.3 STokenHTML ( CString aVar, CString aVal )
4.6.5.4 ~STokenHTML ( void )
4.6.5.5 CString Type ( void )
4.6.5.6 ostream& Dump ( ostream& anOut )

4.7 STokenSERR

This entity inherits functionality from entity [4.5], "SToken".

4.7.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.7.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.7.3 Traceability

4.7.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.7.3.2 Forwards
The implementation of this entity can be found in the files:

4.7.4 Attributes

4.7.4.1 const CString myType

4.7.5 Methods

4.7.5.1 STokenSERR ( void )
4.7.5.2 STokenSERR ( CString aVar )
4.7.5.3 STokenSERR ( CString aVar, CString aVal )
4.7.5.4 ~STokenSERR ( void )
4.7.5.5 CString Type ( void )
4.7.5.6 ostream& Dump ( ostream& anOut )

4.8 STokenSGET

This entity inherits functionality from entity [4.5], "SToken".

4.8.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.8.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.8.3 Traceability

4.8.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.8.3.2 Forwards
The implementation of this entity can be found in the files:

4.8.4 Attributes

4.8.4.1 const CString myType

4.8.5 Methods

4.8.5.1 STokenSGET ( void )
4.8.5.2 STokenSGET ( CString aVar )
4.8.5.3 STokenSGET ( CString aVar, CString aVal )
4.8.5.4 ~STokenSGET ( void )
4.8.5.5 CString Type ( void )
4.8.5.6 ostream& Dump ( ostream& anOut )

4.9 STokenSSET

This entity inherits functionality from entity [4.5], "SToken".

4.9.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.9.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.9.3 Traceability

4.9.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.9.3.2 Forwards
The implementation of this entity can be found in the files:

4.9.4 Attributes

4.9.4.1 const CString myType

4.9.5 Methods

4.9.5.1 STokenSSET ( void )
4.9.5.2 STokenSSET ( CString aVar )
4.9.5.3 STokenSSET ( CString aVar, CString aVal )
4.9.5.4 ~STokenSSET ( void )
4.9.5.5 CString Type ( void )
4.9.5.6 ostream& Dump ( ostream& anOut )

4.10 SCgi

This class encapsulates the encoding of HTML forms, which is considered complex enough to warrant a class of it own. It is used whenever one of the other entities needs to parse a HTML form and is therefore considered to be a supportclass which should be general enough to be used outside of the subsystem too if such a need would arise. This entity inherits functionality from entity [4.11], "STokenList".

4.10.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.10.2 Internal Interface Specification

These methods are accessible only to instances of this entity:

4.10.3 Traceability

4.10.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.10.3.2 Forwards
The implementation of this entity can be found in the following file(s):

4.10.4 Attributes

4.10.4.1 const int myMaxCGIDecodes
4.10.4.2 const char myStringSeparator

4.10.5 Methods

4.10.5.1 SCgi ( void )
4.10.5.2 friend ostream& operator << ( ostream& anOut, SCgi& aSource )
4.10.5.3 CList<SToken*, SToken*>* DecodeCGI ( void )
4.10.5.4 CList<SToken*, SToken*>* DecodeGetCGI ( void )
4.10.5.5 CList<SToken*, SToken*>* DecodePostCGI ( void )
4.10.5.6 CList<SToken*, SToken*>* DecodeCGIMain ( CString anInput )
4.10.5.7 int Split ( CString anInputString, CString* anOutputArray, int aMaxArraySize, char aStringSeparator )
4.10.5.8 void UnescapeHex ( CString& aString )

4.11 STokenList

A linked list of tokens used by the other classes when there is a need to have an ordered collection of SToken.

4.11.1 Subsystem Interface Specification

These methods are accessible to entities within the subsystem:

4.11.2 Internal Interface Specification

No methods are accessible only to instances of this entity.

4.11.3 Traceability

4.11.3.1 Backwards
The implementation of this entity meet parts of the following requirements:
[WWW_F1], [WWW_F2], [WWW_F3], [WWW_F4], in [SAIDA 96-1].

4.11.3.2 Forwards
The implementation of this entity can be found in the following file:

4.11.4 Attributes

4.11.4.1 CList<SToken*, SToken*>* myTokenList

4.11.5 Methods

4.11.5.1 STokenList ( void )
4.11.5.2 STokenList ( CList<SToken*, SToken*>* aTokenList )
4.11.5.3 BOOL Exist ( CString aVariableName )
4.11.5.4 BOOL Exist ( SToken* aToken )
4.11.5.5 CString Fetch ( CString aVariableName )
4.11.5.6 CString Fetch ( int index )
4.11.5.7 BOOL Add ( SToken* aToken )
4.11.5.8 BOOL Replace ( SToken* aToken )
4.11.5.9 int Length ( void )
4.11.5.10 ostream& Dump ( ostream& anOut )

5 Entity diagram

Entity diagram of the entities in the WWW-interface subsystem.

5.1 External Interfaces

External interfaces of WWW Interface subsystem.

6 Event Trace Diagram

This overview figure of the system describes a possible chain of events during a customer's accesses to Sydkraft's WWW pages to monitor/update his/her appliance values.

Overview of WWW interface subsystem.
Explanations to Figure [5-1].
  1Sydkraft's welcome page.
IUser selects "View/Change Status" link.2Identification page.
IIUser enters User Identification and Password, selects which template to use, and selects Submit.3Generator is executed.
IIIGenerator reads information from a template page.4Template pages.

 

IVGenerator asks Data Server for values of each variable as it encounters them in get-tags in the template.5Data Server OLE Object.

 

VData Server returns the value of the variable which was requested in [].  
VIGenerator generates a new HTML page which contains the status of the customer's appliances in a format which complies with the template which was selected.6Status page.
VIIThe customer changes some of the values of his/her appliances, and selects Update.7Updator is executed.
VIIIUpdator asks the Data Server to update the selected appliances.  
IXThe Data Server reports back with possible error-messages to Updator.  
XUpdator generates a new HTML page which contains possible error-messages and a Goodbye message.8End page.
XIUser selects Update and is returned to [].  

7 Appendix A

7.1 Terminology

Data Server - Server application which manages NeuronC nodes and their variable values.

WWW Server - Server application which serves WWW documents to clients.

7.2 Literature

[CQM 96-1], QMG, "CQM - Metaterminology" - Rev. A - University of Karlskrona/Ronneby, 1996.

[CQM 96-2], QMG, "CQM - Design" - Rev. A - University of Karlskrona/Ronneby, 1996.

[SAIDA 96-1], Sassner J., Wikström P., "WWW Interface Requirements Specification" - Rev. A - University of Karlskrona/Ronneby, 1996.


WWW Interface Design
Abstract
1 - Outline
1.1 - Requirements
1.2 - Subsystem boundaries
2 - Extensions to HTML
2.1 - SGET
2.1.1 - Syntax
2.1.2 - Tag
2.1.3 - End Tag
2.1.4 - Parameters
2.1.4.1 - VARIABLE
Definition
Description
2.2 - SSET
2.2.1 - Syntax
2.2.2 - Tag
2.2.3 - End Tag
2.2.4 - Parameters
2.2.4.1 - VARIABLE
Definition
Description
2.2.4.2 - VALUE
Definition
Description
2.3 - SERR
2.3.1 - Syntax
2.3.2 - Tag
2.3.3 - End Tag
2.3.4 - Parameters
2.4 - IF
2.4.1 - Syntax
2.4.2 - Tag
2.4.3 - End Tag
2.4.4 - Parameters
2.4.4.1 - VARIABLE
Definition
Description
2.4.4.2 - CONDITION
Definition
Description
2.4.4.3 - VALUE
Definition
Description
2.5 - INCLUDE
2.5.1 - Syntax
2.5.2 - Tag
2.5.3 - End Tag
2.5.4 - Parameters
2.5.4.1 - FILE
Definition
Description
3 - Global Interface Entities
3.1 - Generator.exe
3.1.1 - Global Interface Specification
3.1.2 - Subsystem Interface Specification
3.1.3 - Internal Interface Specification
3.1.4 - Traceability
3.1.4.1 - Backwards
3.1.4.2 - Forwards
3.1.5 - Attributes
3.1.5.1 - SCgi theCgi
3.1.5.2 - SGen theGen
3.1.5.3 - SClients theClients
3.1.5.4 - SHTMLPage* thePage
3.1.6 - Methods
3.2 - Updator.exe
3.2.1 - Global Interface Specification
3.2.2 - Subsystem Interface Specification
3.2.3 - Internal Interface Specification
3.2.4 - Traceability
3.2.4.1 - Backwards
3.2.4.2 - Forwards
3.2.5 - Attributes
3.2.5.1 - SCgi theCgi
3.2.5.2 - SGen theGen
3.2.5.3 - SClients theClients
3.2.5.4 - SHTMLPage* thePage
3.2.6 - Methods
3.3 - SC_ClientInterface
3.3.1 - Global Interface Specification
3.3.2 - Subsystem Interface Specification
3.3.3 - Internal Interface Specification
3.3.4 - Traceability
3.3.4.1 - Backwards
3.3.4.2 - Forwards
3.3.5 - Attributes
3.3.5.1 - ISC_Export serverStub
3.3.6 - Methods
3.3.6.1 - SC_ClientInterface ( void )
3.3.6.2 - ~SC_ClientInterface ( void )
3.3.6.3 - short Get ( CString& name, CString& value, CString& msg )
3.3.6.4 - short Set ( CString& name, CString& value, CString& msg )
4 - Internal entities
4.1 - SGen
4.1.1 - Subsystem Interface Specification
4.1.2 - Internal Interface Specification
4.1.3 - Traceability
4.1.3.1 - Backwards
4.1.3.2 - Forwards
4.1.4 - Attributes
4.1.4.1 - SHTMLPage* myHTMLPage
4.1.5 - Methods
4.1.5.1 - SGen ( void )
4.1.5.2 - ~SGen ( void )
4.1.5.3 - SHTMLPage* Generate ( CString anUID, CString aTemplate )
4.2 - SLexer
4.2.1 - Subsystem Interface Specification
4.2.2 - Internal Interface Specification
4.2.3 - Traceability
4.2.3.1 - Backwards
4.2.3.2 - Forwards
4.2.4 - Attributes
4.2.4.1 - CString myString
4.2.4.2 - STokenList* myTokenList
4.2.4.3 - int myCurrentID
4.2.5 - Methods
4.2.5.1 - SLexer ( CString aTemplate )
4.2.5.2 - ~SLexer ( void )
4.2.5.3 - STokenList* Tokenize ( void )
4.2.5.4 - void Tokenize ( CString aToken, int aPosition )
4.2.5.5 - CString GenerateID ( void )
4.3 - SClients
4.3.1 - Subsystem Interface Specification
4.3.2 - Internal Interface Specification
4.3.3 - Traceability
4.3.3.1 - Backwards
4.3.3.2 - Forwards
4.3.4 - Attributes
4.3.4.1 - CList<CString, CString>* myClients
4.3.5 - Methods
4.3.5.1 - SClients ( void )
4.3.5.2 - ~SClients ( void )
4.3.5.3 - BOOL Validate ( CString aName, CString aPasswd )
4.3.5.4 - CString UpdTemplate ( CString aName )
4.3.5.5 - CString GenTemplate ( CString aName )
4.3.5.6 - CString Password ( CString aName )
4.3.5.7 - int GetCount ( void )
4.3.5.8 - CString GetEntry ( int anIndex)
4.3.5.9 - void SplitEntry ( CString anInputString, CString* aStringArray, char aSeparator )
4.4 - SHTMLPage
4.4.1 - Subsystem Interface Specification
4.4.2 - Internal Interface Specification
4.4.3 - Traceability
4.4.3.1 - Backwards
4.4.3.2 - Forwards
4.4.4 - Attributes
4.4.4.1 - STokenList* myTokenList
4.4.4.2 - SLexer* myLexer
4.4.4.3 - CString myTemplate
4.4.4.4 - CString myUID
4.4.5 - Methods
4.4.5.1 - SHTMLPage ( void )
4.4.5.2 - SHTMLPage ( CString anUID, CString aTemplate )
4.4.5.3 - ~SHTMLPage ( void )
4.4.5.4 - void Insert ( SToken* aToken )
4.4.5.5 - void Insert ( CString aString )
4.4.5.6 - friend ostream& operator << ( ostream& anOut, SHTMLPage& aPage )
4.4.5.7 - friend ostream& operator << ( ostream& anOut, SHTMLPage* aPage )
4.4.5.8 - CString ReadTemplate ( void )
4.5 - SToken
4.5.1 - Subsystem Interface Specification
4.5.2 - Internal Interface Specification
4.5.3 - Traceability
4.5.3.1 - Backwards
4.5.3.2 - Forwards
4.5.4 - Attributes
4.5.4.1 - CString myName
4.5.4.2 - CString myValue
4.5.5 - Methods
4.5.5.1 - SToken ( void )
4.5.5.2 - ~SToken ( void )
4.5.5.3 - virtual CString Type ( void )
4.5.5.4 - CString Var ( void )
4.5.5.5 - CString Var ( CString aName )
4.5.5.6 - CString Val ( void )
4.5.5.7 - CString Val ( CString aValue )
4.5.5.8 - void SetAll ( CString aVar, CString aVal )
4.5.5.9 - virtual ostream& Dump ( ostream& anOut )
4.6 - STokenHTML
4.6.1 - Subsystem Interface Specification
4.6.2 - Internal Interface Specification
4.6.3 - Traceability
4.6.3.1 - Backwards
4.6.3.2 - Forwards
4.6.4 - Attributes
4.6.4.1 - const CString myType
4.6.5 - Methods
4.6.5.1 - STokenHTML ( void )
4.6.5.2 - STokenHTML ( CString aVar )
4.6.5.3 - STokenHTML ( CString aVar, CString aVal )
4.6.5.4 - ~STokenHTML ( void )
4.6.5.5 - CString Type ( void )
4.6.5.6 - ostream& Dump ( ostream& anOut )
4.7 - STokenSERR
4.7.1 - Subsystem Interface Specification
4.7.2 - Internal Interface Specification
4.7.3 - Traceability
4.7.3.1 - Backwards
4.7.3.2 - Forwards
4.7.4 - Attributes
4.7.4.1 - const CString myType
4.7.5 - Methods
4.7.5.1 - STokenSERR ( void )
4.7.5.2 - STokenSERR ( CString aVar )
4.7.5.3 - STokenSERR ( CString aVar, CString aVal )
4.7.5.4 - ~STokenSERR ( void )
4.7.5.5 - CString Type ( void )
4.7.5.6 - ostream& Dump ( ostream& anOut )
4.8 - STokenSGET
4.8.1 - Subsystem Interface Specification
4.8.2 - Internal Interface Specification
4.8.3 - Traceability
4.8.3.1 - Backwards
4.8.3.2 - Forwards
4.8.4 - Attributes
4.8.4.1 - const CString myType
4.8.5 - Methods
4.8.5.1 - STokenSGET ( void )
4.8.5.2 - STokenSGET ( CString aVar )
4.8.5.3 - STokenSGET ( CString aVar, CString aVal )
4.8.5.4 - ~STokenSGET ( void )
4.8.5.5 - CString Type ( void )
4.8.5.6 - ostream& Dump ( ostream& anOut )
4.9 - STokenSSET
4.9.1 - Subsystem Interface Specification
4.9.2 - Internal Interface Specification
4.9.3 - Traceability
4.9.3.1 - Backwards
4.9.3.2 - Forwards
4.9.4 - Attributes
4.9.4.1 - const CString myType
4.9.5 - Methods
4.9.5.1 - STokenSSET ( void )
4.9.5.2 - STokenSSET ( CString aVar )
4.9.5.3 - STokenSSET ( CString aVar, CString aVal )
4.9.5.4 - ~STokenSSET ( void )
4.9.5.5 - CString Type ( void )
4.9.5.6 - ostream& Dump ( ostream& anOut )
4.10 - SCgi
4.10.1 - Subsystem Interface Specification
4.10.2 - Internal Interface Specification
4.10.3 - Traceability
4.10.3.1 - Backwards
4.10.3.2 - Forwards
4.10.4 - Attributes
4.10.4.1 - const int myMaxCGIDecodes
4.10.4.2 - const char myStringSeparator
4.10.5 - Methods
4.10.5.1 - SCgi ( void )
4.10.5.2 - friend ostream& operator << ( ostream& anOut, SCgi& aSource )
4.10.5.3 - CList<SToken*, SToken*>* DecodeCGI ( void )
4.10.5.4 - CList<SToken*, SToken*>* DecodeGetCGI ( void )
4.10.5.5 - CList<SToken*, SToken*>* DecodePostCGI ( void )
4.10.5.6 - CList<SToken*, SToken*>* DecodeCGIMain ( CString anInput )
4.10.5.7 - int Split ( CString anInputString, CString* anOutputArray, int aMaxArraySize, char aStringSeparator )
4.10.5.8 - void UnescapeHex ( CString& aString )
4.11 - STokenList
4.11.1 - Subsystem Interface Specification
4.11.2 - Internal Interface Specification
4.11.3 - Traceability
4.11.3.1 - Backwards
4.11.3.2 - Forwards
4.11.4 - Attributes
4.11.4.1 - CList<SToken*, SToken*>* myTokenList
4.11.5 - Methods
4.11.5.1 - STokenList ( void )
4.11.5.2 - STokenList ( CList<SToken*, SToken*>* aTokenList )
4.11.5.3 - BOOL Exist ( CString aVariableName )
4.11.5.4 - BOOL Exist ( SToken* aToken )
4.11.5.5 - CString Fetch ( CString aVariableName )
4.11.5.6 - CString Fetch ( int index )
4.11.5.7 - BOOL Add ( SToken* aToken )
4.11.5.8 - BOOL Replace ( SToken* aToken )
4.11.5.9 - int Length ( void )
4.11.5.10 - ostream& Dump ( ostream& anOut )
5 - Entity diagram
5.1 - External Interfaces
6 - Event Trace Diagram
7 - Appendix A
7.1 - Terminology
7.2 - Literature

Info Team WebCam Documents Schedule CustomerOnly
© 1996, The SAIDA Project