• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

acsncSimpleSupplier.h

Go to the documentation of this file.
00001 #ifndef SIMPLE_SUPPLIER_H
00002 #define SIMPLE_SUPPLIER_H
00003 /*    @(#) $Id: acsncSimpleSupplier.h,v 1.19 2009/09/24 23:08:03 javarias Exp $
00004  *    ALMA - Atacama Large Millimiter Array
00005  *    (c) Associated Universities Inc., 2002 
00006  *    (c) European Southern Observatory, 2002
00007  *    Copyright by ESO (in the framework of the ALMA collaboration)
00008  *    and Cosylab 2002, All rights reserved
00009  *
00010  *    This library is free software; you can redistribute it and/or
00011  *    modify it under the terms of the GNU Lesser General Public
00012  *    License as published by the Free Software Foundation; either
00013  *    version 2.1 of the License, or (at your option) any later version.
00014  *
00015  *    This library is distributed in the hope that it will be useful,
00016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  *    Lesser General Public License for more details.
00019  *
00020  *    You should have received a copy of the GNU Lesser General Public
00021  *    License along with this library; if not, write to the Free Software
00022  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00023  */
00024 
00030 #include "acsncSupplier.h"
00031 namespace nc {
00043 class SimpleSupplier : public Supplier
00044 {
00045   public:
00049           template<class T>
00050                   class EventProcessingCallback{
00051                           public:
00052                                   virtual void eventDropped(T event){}
00053                                   virtual void eventSent(T event){}
00054                                   virtual void eventStoredInQueue(T event){}
00055                                   virtual ~EventProcessingCallback(){}
00056                   };
00058 
00064     SimpleSupplier(const char* channelName, acscomponent::ACSComponentImpl* component);
00066 
00079     template <class T> void 
00080     publishData(T data, EventProcessingCallback<T> *evProcCallback=NULL);
00081 
00083   protected:
00087     virtual ~SimpleSupplier();
00088 
00093     CORBA::Any any_m;
00094 
00096   private:
00100     void operator=(const SimpleSupplier&);
00101 };
00102  }; 
00103 
00104 
00105 #include "acsncSimpleSupplier.i"
00106 
00107 #endif

Generated on Thu Jan 12 2012 23:13:50 for ACS-10.0 C++ API by  doxygen 1.7.0