PublisherBase.py
Go to the documentation of this file.
00001 #!/usr/bin/env python 
00002 # -*- coding: euc-jp -*-
00003 
00004 ##
00005 # @file PublisherBase.py
00006 # @brief Publisher base class
00007 # @date $Date: 2007/09/05$
00008 # @author Noriaki Ando <n-ando@aist.go.jp>
00009 #
00010 # Copyright (C) 2006-2008
00011 #     Noriaki Ando
00012 #     Task-intelligence Research Group,
00013 #     Intelligent Systems Research Institute,
00014 #     National Institute of
00015 #         Advanced Industrial Science and Technology (AIST), Japan
00016 #     All rights reserved.
00017 
00018 import OpenRTM_aist
00019 
00020 
00021 ##
00022 # @if jp
00023 #
00024 # @class PublisherBase
00025 #
00026 # @brief Publisher 基底クラス
00027 # 
00028 # データ送出タイミングを管理して送出を駆動するPublisher* の基底クラス。
00029 # 各種 Publisher はこのクラスを継承して詳細を実装する。
00030 #
00031 # @since 0.4.0
00032 #
00033 # @else
00034 #
00035 # @class PublisherBase
00036 #
00037 # @brief Base class of Publisher.
00038 #
00039 # A base class of Publisher*.
00040 # Variation of Publisher* which implements details of Publisher
00041 # inherits this PublisherBase class.
00042 #
00043 # @endif
00044 class PublisherBase(OpenRTM_aist.DataPortStatus):
00045   """
00046   """
00047 
00048 
00049   ##
00050   # @if jp
00051   # @brief 設定初期化
00052   #
00053   # InPortConsumerの各種設定を行う。実装クラスでは、与えられた
00054   # Propertiesから必要な情報を取得して各種設定を行う。この init() 関
00055   # 数は、OutPortProvider生成直後および、接続時にそれぞれ呼ばれる可
00056   # 能性がある。したがって、この関数は複数回呼ばれることを想定して記
00057   # 述されるべきである。
00058   # 
00059   # @param prop 設定情報
00060   #
00061   # @else
00062   #
00063   # @brief Initializing configuration
00064   #
00065   # This operation would be called to configure in initialization.
00066   # In the concrete class, configuration should be performed
00067   # getting appropriate information from the given Properties data.
00068   # This function might be called right after instantiation and
00069   # connection sequence respectivly.  Therefore, this function
00070   # should be implemented assuming multiple call.
00071   #
00072   # @param prop Configuration information
00073   #
00074   # @endif
00075   ## virtual ReturnCode init(coil::Properties& prop) = 0;
00076   def init(self, prop):
00077     pass
00078 
00079   ## virtual ReturnCode setConsumer(InPortConsumer* consumer) = 0;
00080   def setConsumer(self, consumer):
00081     pass
00082 
00083   ## virtual ReturnCode setBuffer(BufferBase<cdrMemoryStream>* buffer) = 0;
00084   def setBuffer(self, buffer):
00085     pass
00086 
00087   # virtual ReturnCode setListener(ConnectorInfo& info,
00088   #                                ConnectorListeners* listeners) = 0;
00089   def setListener(self, info, listeners):
00090     pass
00091 
00092   # virtual ReturnCode write(const cdrMemoryStream& data,
00093   #                          unsigned long sec,
00094   #                          unsigned long usec) = 0;
00095   def write(self, data, sec, usec):
00096     pass
00097 
00098   ## virtual bool isActive() = 0;
00099   def isActive(self):
00100     pass
00101 
00102   ## virtual ReturnCode activate() = 0;
00103   def activate(self):
00104     pass
00105 
00106   ## virtual ReturnCode deactivate() = 0;
00107   def deactivate(self):
00108     pass
00109 
00110 
00111     
00112   ##
00113   # @if jp
00114   #
00115   # @brief Publisher を破棄する。
00116   #
00117   # 当該 Publisher を破棄する。
00118   # 当該 Publisher が不要になった場合に PublisherFactory から呼び出される。
00119   #
00120   # @else
00121   #
00122   # @brief Release the Publisher
00123   #
00124   # Release this Publisher.
00125   # When Publisher becomes unnecessary, this is invoked from
00126   # PublisherFactory. 
00127   #
00128   # @endif
00129   # virtual void release(){}
00130   def release(self):
00131     pass
00132 
00133 
00134 publisherfactory = None
00135 
00136 class PublisherFactory(OpenRTM_aist.Factory,PublisherBase):
00137   def __init__(self):
00138     OpenRTM_aist.Factory.__init__(self)
00139     pass
00140 
00141 
00142   def __del__(self):
00143     pass
00144 
00145 
00146   def instance():
00147     global publisherfactory
00148 
00149     if publisherfactory is None:
00150       publisherfactory = PublisherFactory()
00151 
00152     return publisherfactory
00153 
00154   instance = staticmethod(instance)


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Thu Aug 27 2015 14:17:28