• 首页
  • 文件
  • 下载
  • 状态
  • 常见问题
  • 邮件列表
  • 应用程序
  • 外部链结
  • 版权
  • 志愿者
  • 联络

类别:Conduit

音讯资料导流管

类型 使用 成员 说明
建构子 public Conduit(void)
解构子 public ~Conduit(void)
资料 public StreamIO Input 音讯输入介面。
资料 public StreamIO Output 音讯输出介面。
资料 public CacInputFunction inputFunction 音讯输入函式。
资料 public CacOutputFunction outputFunction 音讯输出函式。
函式 public virtual int obtain (void) = 0 供应音讯驱动介面数据。
函式 public virtual int put (void) = 0 音讯驱动介面输入数据。
函式 public virtual void finish (
ConduitDirection direction = NoDirection ,
FinishCondition condition = Correct ) = 0
音讯串流结束。
函式 protected virtual void LockConduit (void) obtain或put之前会呼叫这个函式。
函式 protected virtual void UnlockConduit (void) obtain或put之后会呼叫这个函式。
函式 protected virtual int ObtainByFunction (void) 透过函式取得音讯数据。
函式 protected virtual int PutByFunction (void) 透过函式输入音讯数据。

说明

音讯导流管,大部分的应用程序需要透过继承这个类别来实作音讯处理。

C/C++定义


class Conduit
{
  public:

    typedef enum CallBackResult   {
      Continue = 0                ,
      Complete = 1                ,
      Abort    = 2                ,
      Postpone = 3                }
      CallBackResult              ;

    typedef enum ConduitDirection {
      NoDirection     = 0         ,
      InputDirection  = 1         ,
      OutputDirection = 2         }
      ConduitDirection            ;

    typedef enum FinishCondition  {
      Correct      = 0            ,
      Abortion     = 1            ,
      Interruption = 2            ,
      Accident     = 3            }
      FinishCondition             ;

    StreamIO          Input          ;
    StreamIO          Output         ;
    CacInputFunction  inputFunction  ;
    CacOutputFunction outputFunction ;

    explicit     Conduit          (void) ;
    virtual     ~Conduit          (void) ;

    virtual int  obtain           (void) = 0 ;
    virtual int  put              (void) = 0 ;
    virtual void finish           (ConduitDirection direction = NoDirection   ,
                                   FinishCondition  condition = Correct ) = 0 ;

    virtual void LockConduit      (void) ;
    virtual void UnlockConduit    (void) ;

  protected:

    virtual int  ObtainByFunction (void) ;
    virtual int  PutByFunction    (void) ;

};