VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtScriptedTaskManager Class Reference

Classes

struct  ScenarioSystemPair
 Map is by unique id of script. More...

Public Types

typedef std::map< std::string,
ScenarioSystemPair
ScriptedTaskMetaDataList
typedef std::map< std::string,
ScriptedTaskMetaDataList
ScriptedTasksByDirectory

Public Member Functions

 DtScriptedTaskManager (DtSimManager *)
 CTOR.
virtual ~DtScriptedTaskManager ()
 DTOR.
virtual DtSimManagersimManager () const
virtual void addAdditionSystemScriptDirectory (const std::string &, bool send=true)
 Processes this system script directory and loads any meta data from that directory that is a system script into the manager.
virtual void removeAllSystemScriptedTasksFromDirectory (const std::string &, bool send=true)
 Removes all scripted tasks that appear in the supplied directory.
virtual void removeAllScenarioScripts (bool send=true)
 Removes all scripts that are loaded from the scenario. If send is true sends out a new list.
virtual const
ScriptedTasksByDirectory
scriptedTasksByDirectory () const
 Returns the list of all scripted tasks by directory.
virtual const
ScriptedTaskMetaDataList
scenarioScripts () const
 Returns a list of all the scripts assigned to the currently loaded scenario.
virtual const
ScriptedTaskMetaDataList
allScriptsById () const
 Returns a list of all the scripts from system and scenario lists.
virtual void sendRequestedScripts (DtU32 responseId=0, const std::vector< std::string > &scriptIds=std::vector< std::string >(), bool sendScripts=false, const std::string &language="")
 Send out a list of all the scripts or the scripts that match the supplied ids, including script text if script text flag is true.
virtual const
DtScriptedTaskMetaData
lookupScriptById (const std::string &) const
 Looks up a scripted task data by script id.
virtual void modifyScenarioScriptedTask (const DtScriptedTaskMetaData &, const std::string &sourceScriptId="", bool send=true, bool keepScriptInMessage=false)
 If the scripted task does not exist adds it either as a scenario script, else modified the script.
virtual void removeScriptedTask (const std::string &id, bool send=true, bool scenarioOnly=true, bool removeSystemScriptFromDisk=false)
 Removes the current script and sends out a message that the specified script has been removed.
virtual bool loadScenarioScripts (const DtFilename &, bool send=true)
 Loads the scenario scripts from the specified file. If send is true sends out all scripts onto the network.
virtual bool loadScenarioScripts (const std::string &str, bool send=true)
 Loads the scenario scripts from the given string.
virtual bool writeScenarioScripts (const DtFilename &)
 Writes the local scenario scripts to the specified file.
virtual bool writeScenarioScripts (std::string &)
 Writes the local scenario scripts to the specified string.
virtual bool removeScriptById (const std::string &s, bool scenarioOnly=true, bool removeSystemScriptFromDisk=false)
 Removes script by id and replaces with a like id item from another source if it exists.
virtual void setSimulationModelSetScriptsDirectory (const std::string &s, bool send=true)
 Sets the current simulation model set directory.
virtual std::string simulationModelSetScriptsDirectory () const
 Gets the current simulation model set directory.
virtual std::vector< std::string > tasksValidFor (const DtEntityType &, int force) const
 Returns a list of all scripted task ids that are valid for the given entity type and force (by doctrine).
virtual std::vector< std::string > reactiveTasksValidFor (const DtEntityType &, int force) const
 Returns a list of all reactive task ids that are valid for the given entity type and force (by doctrine).
virtual std::vector< std::string > scriptsValidFor (const DtEntityType &, int scriptType, int force) const
 Returns a list of all task ids that are valid for the given entity type and script type and force (by doctrine).
virtual void reportError (const std::string &scriptId, const std::string &error, bool sendReport=true)
 Assigns error to script.
virtual std::string findSystemDirectoryFor (const std::string &scriptId) const
 Given the script id finds the place where it was originally loaded from or the current main system script directory.
virtual void clearError (const std::string &scriptId)
 Clears out any existing error. Will not send a message, but, rather clears out error variable.
virtual int scriptType (const std::string &) const
 Returns the type of script for the given script id. If no script with that id is present returns -1.
virtual void merge (DtScriptedTaskManager *mgr, std::vector< DtRwTranslatableStringObject > &)
 Merges the supplied scripted tasks (scenario level only!) into this manager.
virtual DtScriptResourceManagerresourceManager (const DtString &type)
 Returns the central resource manager for scripts of the given type.
virtual
DtScriptResourceManagerMap
resourceManagers ()
 Returns all of the central resource managers for scripts of the given type.
virtual void addScriptedTaskChangedCallback (DtScriptedTaskManagerCallbackFcn fcn, void *usr)
 Callback that is invoked whenever a scripted task changes.
virtual void removeScriptedTaskChangedCallback (DtScriptedTaskManagerCallbackFcn fcn, void *usr)
 Callback that is invoked whenever a scripted task changes.
virtual void addSample (const std::string &scriptId, double sample)
 Code to support frame rate sampling and reporting for scripted tasks Adds a frame rate sample for the given script id.
virtual void monitor (const std::string &scriptId, bool)
 Adds 1 to the number of monitors on the particular script id if true, remove 1 if false.
virtual void setMonitorTime (double)
 Sets the time to update the network with frame rates if anything is being monitored.
virtual void addFrameRateReference (const std::string &)
 Adds a reference for this script that something is adding to its frame rate averages.
virtual void removeFrameRateReference (const std::string &)
 Removes a frame rate reference. If no more references removes averager.
virtual void setDoctrines (const std::set< std::string > &)
virtual void addDoctrine (const std::string &, bool send=true)
virtual bool removeDoctrine (const std::string &, bool send=true)
 Return true if scripts have changed.
virtual const std::set
< std::string > & 
doctrines () const
virtual void clearDoctrines (bool send=true)
virtual void loadDoctrines (const DtFilename &f, bool send=true)
virtual void sendDoctrines ()
virtual void sendDoctrineAssignments ()
virtual void updateDoctrines (const DtScriptedTaskMetaData &)
virtual void saveDoctrines (const DtFilename &f) const
virtual ScriptedTaskMetaDataList scriptsValidForDoctrine (const std::string &) const
virtual std::string doctrineForForce (int) const
virtual void setDoctrineForForce (const std::string &, int)
virtual void setDoctrineAssignments (const std::map< int, std::string > &)
virtual void setLanguage (const DtString &)
 Set the language to send out on any request that does not have a language specified.
const DtStringlanguage () const
virtual bool renameDoctrine (const std::string &from, const std::string &to, bool send=true)
 Return true if scripts have changed.

Protected Types

typedef DtCallbackList< const
DtScriptedTaskManagerCallbackInfo & > 
DtScriptedTaskChangedCallbackList
typedef std::map< int,
std::string > 
DoctrinesForForce

Protected Member Functions

virtual void processRequestScriptedTasks (DtSimMessage *)
virtual void processScriptedTaskOperation (DtSimMessage *)
virtual void processDoctrinesOperation (DtSimMessage *)
virtual void makeSystemScript (const std::string &)
 Moves the specified script from a scenario to system script.
virtual void modifySystemScript (const std::string &scriptid, const std::string &)
 Modifies the system script.
virtual void modifySystemScriptedTask (const DtScriptedTaskMetaData &, const std::string &sourceSciptId="", bool send=true)
 Modifies the system script meta data.
virtual void modifyScript (const std::string &id, const std::string &script)
 Modifies the scenario script.
virtual bool changeScenarioScriptScriptId (const std::string &from, const std::string &to)
 Changes the scenario script script id from the original to the new id. Returns true if old id is found.
virtual void addTaskToTaskFactory (const std::string &id)
 Adds a task into the task factory by the given script id.
virtual void removeTaskFromTaskFactory (const std::string &id)
 Removes a task from the task factory by the given task id.
virtual void signalNewScriptedTask (const std::string &)
 Invokes callbacks for a new scripted task.
virtual void loadDefaultScript (DtScriptedTaskMetaData &)
 Loads the default script into th supplied meta data.
virtual void tick ()
virtual void sendMonitorInformation ()
 Sends frame rate information for all monitored items.
virtual void updateScenarioScripts (std::map< std::string, DtScriptedTaskMetaData > &, bool send)

Static Protected Member Functions

static void requestScriptedTasks (DtSimMessage *, void *)
 Invoked when a request is made for scripted tasks.
static void scriptedTaskOperation (DtSimMessage *, void *)
 Called in response to a scripted task operation request.
static void doctrinesOperation (DtSimMessage *, void *)
 Called in response to a doctrines operation request.
static void tickCallback (void *)
 Tick callback.

Protected Attributes

DtSimManagermySimManager
std::string mySimulationModelSetScriptsDirectory
ScriptedTasksByDirectory mySystemScriptedTasks
ScriptedTaskMetaDataList myScenarioScripts
ScriptedTaskMetaDataList myAllScriptsById
std::map< std::string,
ScriptedTaskMetaDataList
myMutableScriptsByDoctrine
DtScriptedTaskChangedCallbackList myScriptedTaskChangedCallbackList
double myMonitorTime
double myLastMonitorSentTime
int myMonitoringAll
int myMonitoringScripts
bool mySendMonitorMessage
std::set< std::string > myDoctrines
DtFilename myDoctrinesFile
DoctrinesForForce myDoctrinesForForce
std::vector< std::string > myScriptPaths
DtString myLastLanguageRequested
DtScriptResourceManagerMap myScriptResourceManagers

Private Member Functions

 DtScriptedTaskManager (const DtScriptedTaskManager &orig)
 copy constructor
DtScriptedTaskManageroperator= (const DtScriptedTaskManager &orig)
 assignment operator

Member Typedef Documentation

typedef std::map<int, std::string> DtScriptedTaskManager::DoctrinesForForce
protected

Constructor & Destructor Documentation

DtScriptedTaskManager::DtScriptedTaskManager ( DtSimManager )

CTOR.

virtual DtScriptedTaskManager::~DtScriptedTaskManager ( )
virtual

DTOR.

DtScriptedTaskManager::DtScriptedTaskManager ( const DtScriptedTaskManager orig)
private

copy constructor

Member Function Documentation

DtScriptedTaskManager& DtScriptedTaskManager::operator= ( const DtScriptedTaskManager orig)
private

assignment operator

virtual DtSimManager* DtScriptedTaskManager::simManager ( ) const
virtual
virtual void DtScriptedTaskManager::addAdditionSystemScriptDirectory ( const std::string &  ,
bool  send = true 
)
virtual

Processes this system script directory and loads any meta data from that directory that is a system script into the manager.

Will then send out a message with all scripted tasks. If send is true sends out a message with newly loaded scripts

virtual void DtScriptedTaskManager::removeAllSystemScriptedTasksFromDirectory ( const std::string &  ,
bool  send = true 
)
virtual

Removes all scripted tasks that appear in the supplied directory.

If send is true sends out message with new list of scripts

virtual void DtScriptedTaskManager::removeAllScenarioScripts ( bool  send = true)
virtual

Removes all scripts that are loaded from the scenario. If send is true sends out a new list.

virtual const ScriptedTasksByDirectory& DtScriptedTaskManager::scriptedTasksByDirectory ( ) const
virtual

Returns the list of all scripted tasks by directory.

virtual const ScriptedTaskMetaDataList& DtScriptedTaskManager::scenarioScripts ( ) const
virtual

Returns a list of all the scripts assigned to the currently loaded scenario.

virtual const ScriptedTaskMetaDataList& DtScriptedTaskManager::allScriptsById ( ) const
virtual

Returns a list of all the scripts from system and scenario lists.

virtual void DtScriptedTaskManager::sendRequestedScripts ( DtU32  responseId = 0,
const std::vector< std::string > &  scriptIds = std::vector< std::string >(),
bool  sendScripts = false,
const std::string &  language = "" 
)
virtual

Send out a list of all the scripts or the scripts that match the supplied ids, including script text if script text flag is true.

virtual const DtScriptedTaskMetaData* DtScriptedTaskManager::lookupScriptById ( const std::string &  ) const
virtual

Looks up a scripted task data by script id.

virtual void DtScriptedTaskManager::modifyScenarioScriptedTask ( const DtScriptedTaskMetaData ,
const std::string &  sourceScriptId = "",
bool  send = true,
bool  keepScriptInMessage = false 
)
virtual

If the scripted task does not exist adds it either as a scenario script, else modified the script.

If the script moves from being a scenario script to a system script will write out new script files and update internal structures appropriately. If send is true sends out update notification message

If sourceScriptId is non-null, and the meta data for that script exists, copies the script source into the scenario script from the source script

virtual void DtScriptedTaskManager::removeScriptedTask ( const std::string &  id,
bool  send = true,
bool  scenarioOnly = true,
bool  removeSystemScriptFromDisk = false 
)
virtual

Removes the current script and sends out a message that the specified script has been removed.

If send is true sends out notification of removal. If scenarioOnly is true only removes scenario script. If false removes both scenario and system script (if tied to the same id)

virtual bool DtScriptedTaskManager::loadScenarioScripts ( const DtFilename &  ,
bool  send = true 
)
virtual

Loads the scenario scripts from the specified file. If send is true sends out all scripts onto the network.

virtual bool DtScriptedTaskManager::loadScenarioScripts ( const std::string &  str,
bool  send = true 
)
virtual

Loads the scenario scripts from the given string.

virtual bool DtScriptedTaskManager::writeScenarioScripts ( const DtFilename &  )
virtual

Writes the local scenario scripts to the specified file.

virtual bool DtScriptedTaskManager::writeScenarioScripts ( std::string &  )
virtual

Writes the local scenario scripts to the specified string.

virtual bool DtScriptedTaskManager::removeScriptById ( const std::string &  s,
bool  scenarioOnly = true,
bool  removeSystemScriptFromDisk = false 
)
virtual

Removes script by id and replaces with a like id item from another source if it exists.

If scenarioOnly is true only removes scenario script. If false removes both scenario and system script (if tied to the same id)

virtual void DtScriptedTaskManager::setSimulationModelSetScriptsDirectory ( const std::string &  s,
bool  send = true 
)
virtual

Sets the current simulation model set directory.

This will be used as the directory to save system scripts to

virtual std::string DtScriptedTaskManager::simulationModelSetScriptsDirectory ( ) const
virtual

Gets the current simulation model set directory.

virtual std::vector<std::string> DtScriptedTaskManager::tasksValidFor ( const DtEntityType &  ,
int  force 
) const
virtual

Returns a list of all scripted task ids that are valid for the given entity type and force (by doctrine).

virtual std::vector<std::string> DtScriptedTaskManager::reactiveTasksValidFor ( const DtEntityType &  ,
int  force 
) const
virtual

Returns a list of all reactive task ids that are valid for the given entity type and force (by doctrine).

virtual std::vector<std::string> DtScriptedTaskManager::scriptsValidFor ( const DtEntityType &  ,
int  scriptType,
int  force 
) const
virtual

Returns a list of all task ids that are valid for the given entity type and script type and force (by doctrine).

virtual void DtScriptedTaskManager::addScriptedTaskChangedCallback ( DtScriptedTaskManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scripted task changes.

virtual void DtScriptedTaskManager::removeScriptedTaskChangedCallback ( DtScriptedTaskManagerCallbackFcn  fcn,
void *  usr 
)
virtual

Callback that is invoked whenever a scripted task changes.

virtual void DtScriptedTaskManager::reportError ( const std::string &  scriptId,
const std::string &  error,
bool  sendReport = true 
)
virtual

Assigns error to script.

If the current script error is not the one being assigned will send out a message detailing the new error

virtual std::string DtScriptedTaskManager::findSystemDirectoryFor ( const std::string &  scriptId) const
virtual

Given the script id finds the place where it was originally loaded from or the current main system script directory.

virtual void DtScriptedTaskManager::clearError ( const std::string &  scriptId)
virtual

Clears out any existing error. Will not send a message, but, rather clears out error variable.

virtual void DtScriptedTaskManager::addSample ( const std::string &  scriptId,
double  sample 
)
virtual

Code to support frame rate sampling and reporting for scripted tasks Adds a frame rate sample for the given script id.

virtual void DtScriptedTaskManager::monitor ( const std::string &  scriptId,
bool   
)
virtual

Adds 1 to the number of monitors on the particular script id if true, remove 1 if false.

Any item that is monitored will have a frame rate update sent for it

virtual void DtScriptedTaskManager::setMonitorTime ( double  )
virtual

Sets the time to update the network with frame rates if anything is being monitored.

Default is every 2 seconds

virtual void DtScriptedTaskManager::addFrameRateReference ( const std::string &  )
virtual

Adds a reference for this script that something is adding to its frame rate averages.

When no items are referencing this script will not be used in averaging and not sent on an update

virtual void DtScriptedTaskManager::removeFrameRateReference ( const std::string &  )
virtual

Removes a frame rate reference. If no more references removes averager.

virtual int DtScriptedTaskManager::scriptType ( const std::string &  ) const
virtual

Returns the type of script for the given script id. If no script with that id is present returns -1.

virtual void DtScriptedTaskManager::setDoctrines ( const std::set< std::string > &  )
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::addDoctrine ( const std::string &  ,
bool  send = true 
)
virtual

Keeps list of doctrines categories that this script is part of

virtual bool DtScriptedTaskManager::removeDoctrine ( const std::string &  ,
bool  send = true 
)
virtual

Return true if scripts have changed.

virtual const std::set<std::string>& DtScriptedTaskManager::doctrines ( ) const
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::clearDoctrines ( bool  send = true)
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::loadDoctrines ( const DtFilename &  f,
bool  send = true 
)
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::sendDoctrines ( )
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::sendDoctrineAssignments ( )
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::updateDoctrines ( const DtScriptedTaskMetaData )
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::saveDoctrines ( const DtFilename &  f) const
virtual

Keeps list of doctrines categories that this script is part of

virtual ScriptedTaskMetaDataList DtScriptedTaskManager::scriptsValidForDoctrine ( const std::string &  ) const
virtual

Keeps list of doctrines categories that this script is part of

virtual std::string DtScriptedTaskManager::doctrineForForce ( int  ) const
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::setDoctrineForForce ( const std::string &  ,
int   
)
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::setDoctrineAssignments ( const std::map< int, std::string > &  )
virtual

Keeps list of doctrines categories that this script is part of

virtual void DtScriptedTaskManager::setLanguage ( const DtString )
virtual

Set the language to send out on any request that does not have a language specified.

const DtString& DtScriptedTaskManager::language ( ) const

Keeps list of doctrines categories that this script is part of

virtual bool DtScriptedTaskManager::renameDoctrine ( const std::string &  from,
const std::string &  to,
bool  send = true 
)
virtual

Return true if scripts have changed.

virtual void DtScriptedTaskManager::merge ( DtScriptedTaskManager mgr,
std::vector< DtRwTranslatableStringObject > &   
)
virtual

Merges the supplied scripted tasks (scenario level only!) into this manager.

Will not copy over scripted task ids that there are already scenario scripted tasks for, but, will supply a warning in the supplied vector if the ids are the same but the variables or scripts are different

virtual DtScriptResourceManager* DtScriptedTaskManager::resourceManager ( const DtString type)
virtual

Returns the central resource manager for scripts of the given type.

virtual DtScriptResourceManagerMap& DtScriptedTaskManager::resourceManagers ( )
virtual

Returns all of the central resource managers for scripts of the given type.

static void DtScriptedTaskManager::requestScriptedTasks ( DtSimMessage ,
void *   
)
staticprotected

Invoked when a request is made for scripted tasks.

virtual void DtScriptedTaskManager::processRequestScriptedTasks ( DtSimMessage )
protectedvirtual
static void DtScriptedTaskManager::scriptedTaskOperation ( DtSimMessage ,
void *   
)
staticprotected

Called in response to a scripted task operation request.

virtual void DtScriptedTaskManager::processScriptedTaskOperation ( DtSimMessage )
protectedvirtual
static void DtScriptedTaskManager::doctrinesOperation ( DtSimMessage ,
void *   
)
staticprotected

Called in response to a doctrines operation request.

virtual void DtScriptedTaskManager::processDoctrinesOperation ( DtSimMessage )
protectedvirtual
virtual void DtScriptedTaskManager::makeSystemScript ( const std::string &  )
protectedvirtual

Moves the specified script from a scenario to system script.

virtual void DtScriptedTaskManager::modifySystemScript ( const std::string &  scriptid,
const std::string &   
)
protectedvirtual

Modifies the system script.

virtual void DtScriptedTaskManager::modifySystemScriptedTask ( const DtScriptedTaskMetaData ,
const std::string &  sourceSciptId = "",
bool  send = true 
)
protectedvirtual

Modifies the system script meta data.

virtual void DtScriptedTaskManager::modifyScript ( const std::string &  id,
const std::string &  script 
)
protectedvirtual

Modifies the scenario script.

virtual bool DtScriptedTaskManager::changeScenarioScriptScriptId ( const std::string &  from,
const std::string &  to 
)
protectedvirtual

Changes the scenario script script id from the original to the new id. Returns true if old id is found.

virtual void DtScriptedTaskManager::addTaskToTaskFactory ( const std::string &  id)
protectedvirtual

Adds a task into the task factory by the given script id.

virtual void DtScriptedTaskManager::removeTaskFromTaskFactory ( const std::string &  id)
protectedvirtual

Removes a task from the task factory by the given task id.

virtual void DtScriptedTaskManager::signalNewScriptedTask ( const std::string &  )
protectedvirtual

Invokes callbacks for a new scripted task.

virtual void DtScriptedTaskManager::loadDefaultScript ( DtScriptedTaskMetaData )
protectedvirtual

Loads the default script into th supplied meta data.

static void DtScriptedTaskManager::tickCallback ( void *  )
staticprotected

Tick callback.

Check to see if there are any scripts being monitored for frame rate, and, if so, send them out if it is time

virtual void DtScriptedTaskManager::tick ( )
protectedvirtual
virtual void DtScriptedTaskManager::sendMonitorInformation ( )
protectedvirtual

Sends frame rate information for all monitored items.

virtual void DtScriptedTaskManager::updateScenarioScripts ( std::map< std::string, DtScriptedTaskMetaData > &  ,
bool  send 
)
protectedvirtual

Member Data Documentation

DtSimManager* DtScriptedTaskManager::mySimManager
protected
std::string DtScriptedTaskManager::mySimulationModelSetScriptsDirectory
protected
ScriptedTasksByDirectory DtScriptedTaskManager::mySystemScriptedTasks
protected
ScriptedTaskMetaDataList DtScriptedTaskManager::myScenarioScripts
protected
ScriptedTaskMetaDataList DtScriptedTaskManager::myAllScriptsById
protected
std::map<std::string, ScriptedTaskMetaDataList> DtScriptedTaskManager::myMutableScriptsByDoctrine
mutableprotected
DtScriptedTaskChangedCallbackList DtScriptedTaskManager::myScriptedTaskChangedCallbackList
protected
double DtScriptedTaskManager::myMonitorTime
protected
double DtScriptedTaskManager::myLastMonitorSentTime
protected
int DtScriptedTaskManager::myMonitoringAll
protected
int DtScriptedTaskManager::myMonitoringScripts
protected
bool DtScriptedTaskManager::mySendMonitorMessage
protected
std::set<std::string> DtScriptedTaskManager::myDoctrines
protected
DtFilename DtScriptedTaskManager::myDoctrinesFile
protected
DoctrinesForForce DtScriptedTaskManager::myDoctrinesForForce
protected
std::vector<std::string> DtScriptedTaskManager::myScriptPaths
protected
DtString DtScriptedTaskManager::myLastLanguageRequested
protected
DtScriptResourceManagerMap DtScriptedTaskManager::myScriptResourceManagers
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)