CSession Class

# CSession Class Reference

[CADIHash.h Index] [CADIHash.h Hierarchy]

A class containing a session More...

`#include <../libInvertedFile/include/CSessionManager.h>`

## Public Members

- CSession ()
- CSession (string inUser, string inID, string inSessionName, CAlgorithm* inActiveAlgorithm )
- ostream& write (ostream& outStream)
- istream& read (istream& inStream)
- string getUser ()
- void setUser (const string& inUser)
- string getID ()
- void setID (const string& inID)
- string getSessionName ()
- void setSessionName (const string& inSessionName)
- CAlgorithm* getActiveAlgorithm ()
- bool setActiveAlgorithm (CAccessorCollection& inCaller, CAlgorithmCollection& inAlgorithmCollection, CAlgorithm* inActiveAlgorithm)
- CXMLElement* query (CSessionManager& inCaller, const CXMLElement& inQuery)
- CXMLElement* getRandomImages (CSessionManager& inCaller, const string& inAlgorithm, int inResultSize)
- bool open ()
- bool close ()
- bool rename (const string& inName)
- string toXML (bool isPrivate)

## Protected Members

- bool mIsOpen
- string mUser
- string mID
- string mSessionName
- CAlgorithm* mActiveAlgorithm
- static CQueryTreeBuilder mQueryTreeBuilder

## Detailed Description

A class containing a session. At present a session is just a quite rudimentary container for an algorithm.

Later we hope to make sessions persistent (using blobs in msql, for example).

## CSession()

Constructors

## ostream& write(ostream& outStream)

Read the state

## istream& read(istream& inStream)

Write the state

## string getUser()

get user of this session

## void setUser(const string& inUser)

set user of this session

## string getID()

set ID of this session

## void setID(const string& inID)

get ID of this session

## string getSessionName()

get the displayname of this session

## void setSessionName(const string& inSessionName)

set the displayname of this session

## CAlgorithm* getActiveAlgorithm()

get the algorithm of this session

## bool setActiveAlgorithm(CAccessorCollection& inCaller, CAlgorithmCollection.html">CAlgorithmCollection& inAlgorithmCollection, CAlgorithm* inActiveAlgorithm)

set the algorithm of this session.in fact this amounts to building a complete query tree.

We also would like to do a bit of tree matching to see, how much of the query we can rescue after reconfiguration.

## CXMLElement* query(CSessionManager& inCaller, const CXMLElement& inQuery)

performing a query

Gets from the current algorithm the right inSubAlgorithm, from that the right CQuery and hands parameters through to it.

## CXMLElement* getRandomImages(CSessionManager& inCaller, const string& inAlgorithm, int inResultSize)

retrieving random images as seeds

## bool open()

opening this session. This implements a lock, such that oneuser can have several open session which do not interfere.

The return value tells the use if the open was successful (true)

## bool close()

Closing this session

## bool rename(const string& inName)

Renaming this session(calls setSessionName, at present)

## string toXML(bool isPrivate)

generating XML output for configuration/shandshake

## string mSessionName

the name of this session

## CAlgorithm* mActiveAlgorithm

The algorithm used for the next query At present this fully describes a session

Author: Wolfgang Müller Documentation generated by muellerw@pc7170 on Son Okt 8 16:04:40 CEST 2000 | Kdoc