European
Southern
Observatory

ESO — Reaching New Heights in Astronomy

Countries taking part in the ESO

VLT Software Documentation

mswMOD_LIST Class Reference

See man page mswMOD_LIST(4)
More...

#include <mswMOD_LIST.h>

Collaboration diagram for mswMOD_LIST:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 mswMOD_LIST (const dbSYMADDRESS dbPoint=dbEMPTY)
virtual ~mswMOD_LIST ()
const mswMOD_RECORD_ARRAYSelectList () const
virtual ccsCOMPL_STAT SelectRequiredModules ()
virtual ccsCOMPL_STAT SelectTrackingModules ()
virtual ccsCOMPL_STAT SelectGuidingModules ()
virtual ccsCOMPL_STAT SelectOnFocusModules (vltINT8 focus)
virtual ccsCOMPL_STAT SelectInitChFocModules ()
virtual ccsCOMPL_STAT LoadTable ()
ccsCOMPL_STAT DbPoint (const dbSYMADDRESS point)
ccsCOMPL_STAT UpdateReqModList (vltINT8 oldFocus, vltINT8 newFocus)
ccsCOMPL_STAT UpdateTrkModList (vltINT8 index, vltINT8 istracking)

Protected Member Functions

vltLOGICAL ParseUserField (const char *matchString, const char *userField)
ccsCOMPL_STAT _SelectRequiredModules ()
ccsCOMPL_STAT _SelectUsrFieldModules (const char *usrField)
ccsCOMPL_STAT StoreTable ()

Protected Attributes

dbSYMADDRESS modPoint
mswMOD_RECORD modTable [mswNO_OF_MODULES]
mswMOD_RECORD_ARRAY selectList

Private Attributes

vltINT8 focus

Detailed Description

See man page mswMOD_LIST(4)
Manpage of mswMOD_LIST

mswMOD_LIST

Section: Devices and Network Interfaces (4)
Updated: 2012-04-23 10:09
Index Return to man pages list
 

NAME

mswMOD_LIST - Access classes to mode switching list

 

SYNOPSIS


 class mswMOD_LIST : public eccsERROR_CLASS
 {
   public:
     mswMOD_LIST(const dbSYMADDRESS dbPoint = "");
     virtual ~mswMOD_LIST();

     const mswMOD_RECORD_ARRAY   &SelectList() const;
     virtual ccsCOMPL_STAT  SelectRequiredModules();
     virtual ccsCOMPL_STAT  SelectTrackingModules();
     virtual ccsCOMPL_STAT  SelectGuidingModules();
     virtual ccsCOMPL_STAT  LoadTable();
     ccsCOMPL_STAT          DbPoint(const dbSYMADDRESS point);

     ccsCOMPL_STAT          UpdateReqModList(vltINT8 oldFocus, vltINT8 newFocus);

   protected:
     mswMOD_RECORD          modTable[32];
     dbSYMADDRESS           modPoint;
     mswMOD_RECORD_ARRAY    selectList;

     ccsCOMPL_STAT   StoreTable();
     vltLOGICAL      ParseUserField(const char *matchString,
                                    const char *userField);
     ccsCOMPL_STAT   _SelectRequiredModules();
 };

 

PARENT CLASS


 class mswMOD_LIST :          public eccsERROR_CLASS

 

DESCRIPTION


    These classes are part of the TCS-public msw library and provide
    TCS-public access to the mode switching list table.

    mswMOD_LIST accepts a database support point
    where the list is stored and can be accessed.
    If no database support point is given, the default is used
    assuming a standard TCS database (see tcsDbRoot(3) for details).
    This is built as ":Appl_data:TCS:msw:list" or, if the environment
    variable TCS_DBPOINT is defined, as $TCS_DBPOINT:TCS:msw:list
    Typically this will be the msw list point in the standard TCS
    mode switching database branch, i.e. ":Appl_data:TCS:msw:list".

 

PUBLIC METHODS


    mswMOD_LIST::mswMOD_LIST(const dbSYMADDRESS dbPoint = dbEMPTY)
       Creates the object and initialize data.
       The constructor provides a default value for the dbPoint
       parameter to behave like two distinct constructors: one with
       no parameters and one with a dbPoint parameter.
       The first one defines the online database support point calling
       the standard tcsDbRoot(4) function and appenting the
       default relative path from the TCS database root point,
       assuming a complete default TCS database structure.
       This is what will be generally used.
       The second one receives as parameter the symbolic address of
       online database support point for the object, i.e. the point
       where the object can find configuration and run time values.
       This will be typically used for testing purposes.

    mswMOD_LIST::~mswMOD_LIST()

    ccsCOMPL_STAT mswMOD_LIST::SelectRequiredModules()
       Reloads the module list from the database if required
       and calls the protected method _SelectRequiredModules().

    ccsCOMPL_STAT mswMOD_LIST::SelectTrackingModules()
       Creates selectList containing all module records fulfilling
       the following conditions
         non blank modId && tracking true && required true && ignored false

    ccsCOMPL_STAT mswMOD_LIST::SelectGuidingModules()
       Creates selectList containing all module records fulfilling
       the following conditions
         non blank modId && required true && ignored false &&
         field in userField matching mswGUIDING_STRING

    const mswMOD_RECORD_ARRAY   &mswMOD_LIST::SelectList() const;
       Access function for the array of module records produced
       by Select* methods

    ccsCOMPL_STAT mswMOD_LIST::LoadTable()
       Reads the complete module list from database and store it in
       modTable, which is an array of mswMOD_RECORD

    ccsCOMPL_STAT mswMOD_LIST::UpdateReqModList(vltINT8 oldFocus, vltINT8 newFocus);
       Updates the required flags in module table when performing a
       focus switch. At the end the whole table is written back in the
       database using StoreTable().
       CAUTION: This method modifies the actual database table and can
                be used only by authorized Mode Switching processes.

 

PROTECTED METHODS


    ccsCOMPL_STAT mswMOD_LIST::_SelectRequiredModules();
       Creates selectList containing all module records fulfilling
       the following conditions
         non blank modId && required true && ignored false

    vltLOGICAL      mswMOD_LIST::ParseUserField(const char *matchString,
                                   const char *userField);
       Returns true if matchString is present in userField.
       Fields are sparated with white space or comma(,) in userField
       Matching is case sensitive.

    ccsCOMPL_STAT mswMOD_LIST::StoreTable();
       Writes complete table from memory to database
       CAUTION: This method modifies the actual database table and can
                be used only by authorized Mode Switching processes.

 

PROTECTED DATA MEMBERS


    mswMOD_RECORD    mswMOD_LIST::modTable[];
       Copy of complete module table from database

    dbSYMADDRESS    mswMOD_LIST::modPoint
       Database address of module table

    mswMOD_RECORD_ARRAY  mswMOD_LIST::selectList;
       Array of module records produced by Select* methods

 

ON LINE DATABASE


  The class will tipically point to an instance of the mswMOD_LIST_MANAGER
  database class, but it just assumes that the given database point
  contains the attribute:

     ATTRIBUTE Table  modules(mswNO_OF_MODULES,
                              BYTES32  modName,
                              BYTES32  modId,
                              BYTES256 modSymbAddr,
                              INT8     startPhase,
                              INT8     stopPhase,
                              INT8     tracking,
                              INT8     focus,
                              BOOLEAN  required,
                              BOOLEAN  ignore,
                              BYTES256 userField)
 

ENVIRONMENT


   TCS_DBPOINT  is used to provide the default database address
                if not explicitly given. See tcsDbRoot(5)
 

CAUTIONS


   The class can be used by external applications only to access
   the Mode Switching table in READ ONLY mode.
   The 2 methods UpdateReqModList() and StoreTable() should never
   be used, unless explicitly authorized.



 

Index

NAME
SYNOPSIS
PARENT CLASS
DESCRIPTION
PUBLIC METHODS
PROTECTED METHODS
PROTECTED DATA MEMBERS
ON LINE DATABASE
ENVIRONMENT
CAUTIONS

This document was created by man2html, using the manual pages.
Time: 10:09:27 GMT, April 23, 2012

Definition at line 96 of file mswMOD_LIST.h.


Constructor & Destructor Documentation

mswMOD_LIST::mswMOD_LIST ( const dbSYMADDRESS  dbPoint = dbEMPTY  ) 
mswMOD_LIST::~mswMOD_LIST (  )  [virtual]

Definition at line 223 of file mswMOD_LIST.C.


Member Function Documentation

ccsCOMPL_STAT mswMOD_LIST::_SelectRequiredModules (  )  [protected]

Definition at line 401 of file mswMOD_LIST.C.

References modTable, mswNO_OF_MODULES, and selectList.

Referenced by SelectRequiredModules().

ccsCOMPL_STAT mswMOD_LIST::_SelectUsrFieldModules ( const char *  usrField  )  [protected]
ccsCOMPL_STAT mswMOD_LIST::DbPoint ( const dbSYMADDRESS  point  ) 
ccsCOMPL_STAT mswMOD_LIST::LoadTable (  )  [virtual]
vltLOGICAL mswMOD_LIST::ParseUserField ( const char *  matchString,
const char *  userField 
) [protected]

Definition at line 465 of file mswMOD_LIST.C.

Referenced by _SelectUsrFieldModules().

ccsCOMPL_STAT mswMOD_LIST::SelectGuidingModules (  )  [virtual]

Definition at line 278 of file mswMOD_LIST.C.

References _SelectUsrFieldModules(), and mswGUIDING_STRING.

Referenced by mswMOD_LIST_COMMAND::Selection().

ccsCOMPL_STAT mswMOD_LIST::SelectInitChFocModules (  )  [virtual]

Definition at line 314 of file mswMOD_LIST.C.

References _SelectUsrFieldModules(), and mswINITCHFOC_STRING.

Referenced by mswMOD_LIST_COMMAND::Selection().

const mswMOD_RECORD_ARRAY & mswMOD_LIST::SelectList (  )  const [inline]
ccsCOMPL_STAT mswMOD_LIST::SelectOnFocusModules ( vltINT8  focus  )  [virtual]
ccsCOMPL_STAT mswMOD_LIST::SelectRequiredModules (  )  [virtual]
ccsCOMPL_STAT mswMOD_LIST::SelectTrackingModules (  )  [virtual]
ccsCOMPL_STAT mswMOD_LIST::StoreTable (  )  [protected]
ccsCOMPL_STAT mswMOD_LIST::UpdateReqModList ( vltINT8  oldFocus,
vltINT8  newFocus 
)
ccsCOMPL_STAT mswMOD_LIST::UpdateTrkModList ( vltINT8  index,
vltINT8  istracking 
)

Definition at line 526 of file mswMOD_LIST.C.

References LoadTable(), modTable, and StoreTable().


Member Data Documentation

vltINT8 mswMOD_LIST::focus [private]

Definition at line 136 of file mswMOD_LIST.h.

Referenced by UpdateReqModList().

dbSYMADDRESS mswMOD_LIST::modPoint [protected]

Definition at line 122 of file mswMOD_LIST.h.

Referenced by DbPoint(), LoadTable(), and StoreTable().

mswMOD_RECORD mswMOD_LIST::modTable[mswNO_OF_MODULES] [protected]

The documentation for this class was generated from the following files:
Generated on Mon Apr 23 10:12:40 2012 for INTROOT API by doxygen 1.6.3