OMKControlTakeOverPrm.h

Go to the documentation of this file.
00001 /************************************************************************/
00002 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */
00003 /* 1993-2002, thereinafter the Software                                 */
00004 /*                                                                      */
00005 /* The Software has been developped within the Siames Project.          */
00006 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */
00007 /* property rights                                                      */
00008 /*                                                                      */
00009 /* The Software has been registered with the Agence pour la Protection  */
00010 /* des Programmes (APP) under registration number                       */
00011 /* IDDN.FR.001.510008.00.S.P.2001.000.41200                             */
00012 /*                                                                      */
00013 /* This file may be distributed under the terms of the Q Public License */
00014 /* version 1.0 as defined by Trolltech AS of Norway and appearing in    */
00015 /* the file LICENSE.QPL included in the packaging of this file.         */
00016 /*                                                                      */
00017 /* Licensees holding valid specific licenses issued by INRIA, CNRS or   */
00018 /* Universite Rennes 1 for the software may use this file in            */
00019 /* acordance with that specific license                                 */
00020 /************************************************************************/
00021 
00022 
00023 #if !defined _CONTROLTAKEOVERPRM_H_
00024 #define _CONTROLTAKEOVERPRM_H_
00025 
00026 #include "OMKInteraction.h"
00027 #include <vector>
00028 #include "OMKParametersAccessor.inl"
00029 #include <iostream>
00030 
00031 //========================================================================
00032 // AccessGroup
00033 //========================================================================
00034 
00035 namespace OMK
00036 {
00037 namespace Type
00038 {
00039 typedef int AccessLevel ;
00040 typedef std::map< Name, Type::AccessLevel > AccessGroupLevel ;
00041 } //namespace OMK
00042 } //namespace Type
00043 
00044 //========================================================================
00045 // AccessGroup
00046 //========================================================================
00047 
00048 namespace OMK
00049 {
00050 namespace Type
00051 {
00052 class AccessGroup ;
00053 
00054 } //namespace Type
00055 } //namespace OMK
00056 namespace OMK
00057 {
00058 class OutgoingSynchronisationMessage ;
00059 class IncomingSynchronisationMessage ;
00060 class ConfigurationParameterDescriptor ;
00062 template<>
00063 OMKIII_API bool ParametersAccessor::getValue< OMK::Type::AccessGroup >
00064                     ( const ConfigurationParameterDescriptor * nodeValue, 
00065                       OMK::Type::AccessGroup& value, 
00066                       std::string& errorStr ) ;
00067 }
00070 OMKIII_API std::ostream& operator << ( std::ostream& out, const OMK::Type::AccessGroup& a ) ;
00071 
00074 OMKIII_API std::istream& operator >> ( std::istream& in, OMK::Type::AccessGroup& a ) ;
00075 
00078 OMKIII_API OMK::OutgoingSynchronisationMessage& operator << 
00079   ( OMK::OutgoingSynchronisationMessage& out, const OMK::Type::AccessGroup& a ) ;
00080 
00083 OMKIII_API OMK::IncomingSynchronisationMessage& operator >> 
00084   ( OMK::IncomingSynchronisationMessage& in, OMK::Type::AccessGroup& a ) ;
00085 
00086 
00087 namespace OMK
00088 {
00089 namespace Type
00090 {
00091 
00150 class OMKIII_API AccessGroup
00151 {
00152   public:
00154 
00155 
00156   AccessGroup();
00158   AccessGroup( const AccessGroup& ref ) ;
00160   AccessGroup( const Name& groupName,
00161                AccessLevel level ) ;
00163   virtual ~AccessGroup() ;
00165   AccessGroup& operator = ( const AccessGroup& ref ) ;
00167 
00169 
00170 public:
00172   Name _groupName ;
00174   AccessLevel _level ;
00176 protected:
00178   void _copy( const AccessGroup& q ) ;
00180 
00181 
00182   friend OMKIII_API bool operator != ( const AccessGroup& a0, const AccessGroup& a1 ) ;
00184   friend OMKIII_API bool operator == ( const AccessGroup& a0, const AccessGroup& a1 ) 
00185     { return !( a0 != a1 ) ; }
00187 
00189   friend class OMK::ParametersAccessor ;
00190 
00192 
00193   // stream operator for ostream.
00194   friend std::ostream& ::operator << ( std::ostream& out, const AccessGroup& a ) ;
00195 
00196   // stream operator for istream.
00197   friend std::istream& ::operator >> ( std::istream& in, AccessGroup& a ) ;
00198 
00199   // stream operator for OutgoingSynchronisationMessage.
00200   friend OMK::OutgoingSynchronisationMessage& ::operator << 
00201     ( OMK::OutgoingSynchronisationMessage& out, const AccessGroup& a ) ;
00202 
00203   // stream operator for IncomingSynchronisationMessage.
00204   friend OMK::IncomingSynchronisationMessage& ::operator >> 
00205     ( OMK::IncomingSynchronisationMessage& in, AccessGroup& a ) ;
00207 } ;
00208 
00209 //-----------------------------------------------------------------------------
00211 typedef OMK::Type::SimpleTypeT< AccessGroup > AccessGroupType ;
00212 
00213 //-----------------------------------------------------------------------------
00214 
00215 } //namespace OMK
00216 } //namespace Type
00217 
00218 //========================================================================
00220 template class OMKIII_API OMK::Type::SimpleTypeT< OMK::Type::AccessGroup > ;
00221 
00222 
00223 //========================================================================
00224 // TwoIdsPrm
00225 //========================================================================
00226 namespace OMK
00227 {
00228 namespace Type
00229 {
00230 class TwoIdsPrm ;
00231 
00232 } //namespace OMK
00233 } //namespace Type
00234 namespace OMK
00235 {
00236 class OutgoingSynchronisationMessage ;
00237 class IncomingSynchronisationMessage ;
00238 class ConfigurationParameterDescriptor ;
00239 
00241 template<>
00242 OMKIII_API bool ParametersAccessor::getValue< OMK::Type::TwoIdsPrm >
00243                     ( const ConfigurationParameterDescriptor * nodeValue, 
00244                       OMK::Type::TwoIdsPrm& value, 
00245                       std::string& errorStr ) ;
00246 }
00249 OMKIII_API std::ostream& operator << ( std::ostream& out, const OMK::Type::TwoIdsPrm& t ) ;
00250 
00253 OMKIII_API std::istream& operator >> ( std::istream& in, OMK::Type::TwoIdsPrm& t ) ;
00254 
00257 OMKIII_API OMK::OutgoingSynchronisationMessage& operator << 
00258   ( OMK::OutgoingSynchronisationMessage& out, const OMK::Type::TwoIdsPrm& t ) ;
00259 
00262 OMKIII_API OMK::IncomingSynchronisationMessage& operator >> 
00263   ( OMK::IncomingSynchronisationMessage& in, OMK::Type::TwoIdsPrm& t ) ;
00264 
00265 namespace OMK
00266 {
00267 namespace Type
00268 {
00269 
00328 class OMKIII_API TwoIdsPrm
00329 {
00330   public:
00332 
00333 
00334   TwoIdsPrm();
00336   TwoIdsPrm( const TwoIdsPrm& ref ) ;
00338   TwoIdsPrm( OMK::Name id,
00339              OMK::Name secondId ) ;
00341   virtual ~TwoIdsPrm() ;
00343   TwoIdsPrm& operator = ( const TwoIdsPrm& ref ) ;
00345 
00347 
00348 public:
00350   OMK::Name _id ;
00352   OMK::Name _secondId ;
00354 protected:
00356   void _copy( const TwoIdsPrm& q ) ;
00358 
00359 
00360   friend OMKIII_API bool operator != ( const TwoIdsPrm& t0, const TwoIdsPrm& t1 ) ;
00362   friend OMKIII_API bool operator == ( const TwoIdsPrm& t0, const TwoIdsPrm& t1 ) 
00363     { return !( t0 != t1 ) ; }
00365 
00367   friend class OMK::ParametersAccessor ;
00368 
00370 
00371   // stream operator for ostream.
00372   friend std::ostream& ::operator << ( std::ostream& out, const TwoIdsPrm& t ) ;
00373 
00374   // stream operator for istream.
00375   friend std::istream& ::operator >> ( std::istream& in, TwoIdsPrm& t ) ;
00376 
00377   // stream operator for OutgoingSynchronisationMessage.
00378   friend OMK::OutgoingSynchronisationMessage& ::operator << 
00379     ( OMK::OutgoingSynchronisationMessage& out, const TwoIdsPrm& t ) ;
00380 
00381   // stream operator for IncomingSynchronisationMessage.
00382   friend OMK::IncomingSynchronisationMessage& ::operator >> 
00383     ( OMK::IncomingSynchronisationMessage& in, TwoIdsPrm& t ) ;
00385 } ;
00386 
00387 //-----------------------------------------------------------------------------
00389 typedef OMK::Type::SimpleTypeT< TwoIdsPrm > TwoIdsPrmType ;
00390 
00391 //-----------------------------------------------------------------------------
00392 
00393 } //namespace OMK
00394 } //namespace Type
00395 
00396 //========================================================================
00398 template class OMKIII_API OMK::Type::SimpleTypeT< OMK::Type::TwoIdsPrm > ;
00399 
00400 
00401 //========================================================================
00402 // ControlTakeOverPrm
00403 //========================================================================
00404 namespace OMK
00405 {
00406 namespace Type
00407 {
00408 class ControlTakeOverPrm ;
00409 
00410 } //namespace OMK
00411 } //namespace Type
00412 namespace OMK
00413 {
00414 class OutgoingSynchronisationMessage ;
00415 class IncomingSynchronisationMessage ;
00416 class ConfigurationParameterDescriptor ;
00417 
00419 template<>
00420 OMKIII_API bool ParametersAccessor::getValue< OMK::Type::ControlTakeOverPrm >
00421                     ( const ConfigurationParameterDescriptor * nodeValue, 
00422                       OMK::Type::ControlTakeOverPrm& value, 
00423                       std::string& errorStr ) ;
00424 } //namespace OMK
00425 
00428 OMKIII_API std::ostream& operator << ( std::ostream& out, const OMK::Type::ControlTakeOverPrm& c ) ;
00429 
00432 OMKIII_API std::istream& operator >> ( std::istream& in, OMK::Type::ControlTakeOverPrm& c ) ;
00433 
00436 OMKIII_API OMK::OutgoingSynchronisationMessage& operator << 
00437   ( OMK::OutgoingSynchronisationMessage& out, const OMK::Type::ControlTakeOverPrm& c ) ;
00438 
00441 OMKIII_API OMK::IncomingSynchronisationMessage& operator >> 
00442   ( OMK::IncomingSynchronisationMessage& in, OMK::Type::ControlTakeOverPrm& c ) ;
00443 
00444 namespace OMK
00445 {
00446 namespace Type
00447 {
00448 
00507 class OMKIII_API ControlTakeOverPrm : public OMK::Type::TwoIdsPrm
00508 {
00509   public:
00511 
00512 
00513   ControlTakeOverPrm();
00515   ControlTakeOverPrm( const ControlTakeOverPrm& ref ) ;
00517   ControlTakeOverPrm( const Name& id,
00518                       const Name& secondId ) ;
00520   ControlTakeOverPrm( const Name& id,
00521                       const Name& secondId,
00522                       const AccessGroupLevel& accessGroup ) ;
00524   virtual ~ControlTakeOverPrm() ;
00526   ControlTakeOverPrm& operator = ( const ControlTakeOverPrm& ref ) ;
00528 
00530 
00531 public:
00533   AccessGroupLevel _accessGroup ;
00535 protected:
00537   void _copy( const ControlTakeOverPrm& q ) ;
00539 
00540 
00541   friend OMKIII_API bool operator != ( const ControlTakeOverPrm& c0, const ControlTakeOverPrm& c1 ) ;
00543   friend OMKIII_API bool operator == ( const ControlTakeOverPrm& c0, const ControlTakeOverPrm& c1 ) 
00544     { return !( c0 != c1 ) ; }
00546 
00548   friend class OMK::ParametersAccessor ;
00549 
00551 
00552   // stream operator for ostream.
00553   friend std::ostream& ::operator << ( std::ostream& out, const ControlTakeOverPrm& c ) ;
00554 
00555   // stream operator for istream.
00556   friend std::istream& ::operator >> ( std::istream& in, ControlTakeOverPrm& c ) ;
00557 
00558   // stream operator for OutgoingSynchronisationMessage.
00559   friend OMK::OutgoingSynchronisationMessage& ::operator << 
00560     ( OMK::OutgoingSynchronisationMessage& out, const ControlTakeOverPrm& c ) ;
00561 
00562   // stream operator for IncomingSynchronisationMessage.
00563   friend OMK::IncomingSynchronisationMessage& ::operator >> 
00564     ( OMK::IncomingSynchronisationMessage& in, ControlTakeOverPrm& c ) ;
00566 } ;
00567 
00568 //-----------------------------------------------------------------------------
00570 typedef OMK::Type::SimpleTypeT< ControlTakeOverPrm > ControlTakeOverPrmType ;
00571 
00572 //-----------------------------------------------------------------------------
00573 
00574 } //namespace OMK
00575 } //namespace Type
00576 
00577 //========================================================================
00579 template class OMKIII_API OMK::Type::SimpleTypeT< OMK::Type::ControlTakeOverPrm > ;
00580 
00581 #endif // defined _CONTROLTAKEOVERPRM_H_

logo OpenMask

Documentation generated on Mon Jun 9 11:45:56 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007