In file /home/eternity/Source/Eso/Eso/H/eso.h:

class Eso : public Six

Main class that represents the whole Eso service

Inheritance:

Eso < Six < Debugable


Public Methods

void Eso::CreateMajordomo ()
Eso Majordomo creator
void Eso::CreateRunningObjects ()
Creates running objects
Eso::Eso (string configName)
Eso constructor
Err Eso::Initialize ()
Initializes Eso
void Eso::WaitForRunningObjects ()
Waites for running objects
Eso::~Eso ()
Eso destructor

Public

attributes
TCBWrapper* tcbWrapper
Trusted computing base wrapper.
ACManager* bankACManager
Manager of Banks' access certificates.
ACManager* esoACManager
Manager of other Esos' access certificates.
ACManager* thisEsoACManager
Manager of this Eso's access certificates.
Allocator* allocator
Space allocating class.
Banker* banker
Class responsible for money handling.
Scheduler* scheduler
Timeouts generating class.
Finder* finder
Search and download controler.
TimeSynchronizer* timeSynchronizer
Class that keeps the right time and synchronizes current time with other Esos
attributes
Eso (string configName = ESO_CONFIG_FILE)
Constructor.
virtual ~Eso ()
Destructor.
virtual void CreateRunningObjects ()
Creates all Runable objects, running them as threads
virtual void WaitForRunningObjects ()
Waits for all running objects to stop
virtual void CreateMajordomo ()
Sets Six::majordomo to new Eso's Majordomo
Err Initialize ()
Does some really cool initializations needed especially when debugging

Inherited from Six:

Public Methods

void Six::CreateMajordomo()
void Six::CreateRunningObjects()
Char* Six::GetMixSixVersion()
Char* Six::GetPath(Char *pathSuffix)
void Six::Run()
Six::Six(string configName)
RunningObjectID Six::StartObject( Runable *object)
void Six::WaitForRunningObjects()
Six::~Six()

Public

attributes

MessageQueue* receiverToMajordomo
Queue connecting receiver to majordomo.
MessageQueue* majordomoToSender
Queue connecting majordomo to sender.
Cipherer* cipherer
Cipherer for ciphering in- and outcoming messages.
Killer* killer
Class responsible for shutdown of all objects.
ConfigFile* configFile
Log file.
Receiver* receiver
Class responsible for receiving commands from Mix.
SixMajordomo* majordomo
Class responsible for handling all messages.
Sender* sender
Class responsible for sending commands to Mix.

methods

Six(string configName)
Constructor.
virtual ~Six()
Destructor.
virtual void Run()
Method that runs as a thread and processes all requests.
Char* GetMixSixVersion()
Method that returns MixSix communication protocol version got from ConfigFile.
Char* GetPath(Char *pathSuffix = NULL)
Method that adds path prefix got from ConfigFile before pathSuffix got as a parameter.

Protected

attributes

string mixSixProtoVer
MixSix protocol version got from ConfigFile
string path
Path to the Six SystemData directory got from ConfigFile.
RunningObject* runningObject
Object needed for waiting for running objects (now threads, but possibly processes).

methods

virtual void CreateMajordomo()
In this method majordomo must be assigned a valid SixMajordomo ancestor pointer.
virtual void CreateRunningObjects()
In this method running objects are created.
virtual void WaitForRunningObjects()
In this method waiting for running objects to stop is started.
RunningObjectID StartObject(Runable *object)
Returns ID of a running object.

Inherited from Debugable:

Public Methods

string* Debugable::CreateString(char *firstStr, int firstInt, int secondInt)
Debugable::Debugable(LogFile * debugLogFile)
int Debugable::SetDebugOptions(int newLogOptions)
void Debugable::SetLogFile(LogFile *aLogFile)
void Debugable::WriteString(LogLevel debugLevel, char * format, ...)
Debugable::~Debugable()

Documentation

Main class that represents the whole Eso service. This class inherits its functionality from Six, so its capable of communicating with Mix servers. It holds all classes needed to run the storage service of ES.
attributes

TCBWrapper* tcbWrapper
Trusted computing base wrapper.

ACManager* bankACManager
Manager of Banks' access certificates.

ACManager* esoACManager
Manager of other Esos' access certificates.

ACManager* thisEsoACManager
Manager of this Eso's access certificates.

Allocator* allocator
Space allocating class.

Banker* banker
Class responsible for money handling.

Scheduler* scheduler
Timeouts generating class.

Finder* finder
Search and download controler.

TimeSynchronizer* timeSynchronizer
Class that keeps the right time and synchronizes current time with other Esos

attributes

Eso(string configName = ESO_CONFIG_FILE)
Constructor.

virtual ~Eso()
Destructor.

virtual void CreateRunningObjects()
Creates all Runable objects, running them as threads. Overrides Sixes virtual method.

virtual void WaitForRunningObjects()
Waits for all running objects to stop. Overrides Sixes virtual method.

virtual void CreateMajordomo()
Sets Six::majordomo to new Eso's Majordomo. Overrides Sixes virtual method.

Err Initialize()
Does some really cool initializations needed especially when debugging

void Eso::CreateMajordomo()
Eso Majordomo creator. Overrides Six::CreateMajordomo method to assign correct majordomo to this type of Six (Eso).
Returns:
void
Author:
Pavel
See Also:
Six

void Eso::CreateRunningObjects()
Creates running objects. Calls methods that create all threads for both Six and Eso
Returns:
void
Author:
Pavel
See Also:
Six, Six::CreateRunningObjects()

Eso::Eso(string configName)
Eso constructor. Creates all the objects necessary to run
Parameters:
configName - name of file with configuration information for Eso
Author:
Marek, Pavel
See Also:
Six, LogFile, Allocator, Banker, TCBWrapper, Finder, Scheduler, TimeSynchronizer, ACManager

Err Eso::Initialize()
Initializes Eso. Calls appropriate initializations, used on startup, mostly for debugging
Returns:
error code
Author:
Marek, Pavel
See Also:
Majordomo, Scheduler, TimeSynchronizer

void Eso::WaitForRunningObjects()
Waites for running objects. Waits for all threads to stop running, for both Six and Eso
Returns:
void
Author:
Pavel
See Also:
Six, Six::CreateRunningObjects()

Eso::~Eso()
Eso destructor. Deletes all the objects - frees memory
Author:
Pavel


This class has no child classes.
Author:
Venca
See Also:
Six, MessageQueu

alphabetic index hierarchy of classes


generated by doc++