Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

SelectColleague.hpp

00001 #if   !defined(__SELECTCOLLEAGUE_HPP)
00002 #define __SELECTCOLLEAGUE_HPP
00003 
00004 /*
00005   CoreLinux++ 
00006   Copyright (C) 2000 CoreLinux Consortium
00007   
00008    The CoreLinux++ Library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Library General Public License as
00010    published by the Free Software Foundation; either version 2 of the
00011    License, or (at your option) any later version.
00012 
00013    The CoreLinux++ Library Library is distributed in the hope that it will 
00014    be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Library General Public License for more details.
00017 
00018    You should have received a copy of the GNU Library General Public
00019    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00020    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021    Boston, MA 02111-1307, USA.  
00022 */   
00023 
00024 #if   !defined(__COMMON_HPP)
00025 #include <corelinux/Common.hpp>
00026 #endif
00027 
00028 #if   !defined(__COLLEAGUE_HPP)
00029 #include <corelinux/Colleague.hpp>
00030 #endif
00031 
00032 #if   !defined(__VECTOR_HPP)
00033 #include <corelinux/Vector.hpp>
00034 #endif
00035 
00036 DECLARE_CLASS( ListMediator );
00037 DECLARE_CLASS( SelectColleague );
00038 
00044 class SelectColleague : public CORELINUX( Colleague )
00045 {
00046    CORELINUX_VECTOR(  string ,  ListEntries );
00047 
00048 public:
00049 
00050    //
00051    // Constructors and destructor
00052    //
00053 
00055 
00056                         SelectColleague( ListMediatorPtr );   
00057 
00059 
00060                         SelectColleague( SelectColleagueCref );
00061 
00063 
00064    virtual              ~SelectColleague( void );   
00065 
00066    //
00067    // Operator overloads
00068    //
00069 
00071 
00072             SelectColleagueRef  operator=( SelectColleagueCref );
00073 
00075 
00076             bool operator==( SelectColleagueCref ) const;
00077 
00078    //
00079    // Accessors
00080    //
00087    virtual  void  getEventsGenerated( CORELINUX( EventIdentifiersRef ) ) ;
00088 
00095    virtual  void  getInterestedEvents( CORELINUX( EventIdentifiersRef ) ) ;
00096 
00097    //
00098    // Mutators
00099    //
00100 
00102 
00103             bool  getSelection( void );
00104 
00112    virtual  void  action( CORELINUX( Event<corelinux::Identifier> ) * ) ;
00113 
00114 
00115 protected:
00116 
00117 private:
00118 
00120 
00121             ListEntries    theCurrentList;
00122 
00123 
00124 };
00125 
00126 #endif // if !defined(__SELECTCOLLEAGUE_HPP)
00127 
00128 /*
00129    Common rcs information do not modify
00130    $Author: prudhomm $
00131    $Revision: 1.2 $
00132    $Date: 2000/08/31 22:49:01 $
00133    $Locker:  $
00134 */
00135 
00136 
00137 

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium