メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

DVPIOBase.h

00001 #ifndef VR_DVPIOBASE_H
00002 #define VR_DVPIOBASE_H
00003 
00004 #include "DVVirtualDevice.h"
00005 
00006 namespace Spr {;
00007 //----------------------------------------------------------------------------
00008 //  DVPioBase
00009 
00010 /// 入出力ポートのための定数の定義などだけを行う.
00011 class SPR_DLL DVPortEnum{
00012     enum TLevel {LEVEL_LO, LEVEL_HI};
00013     enum TDir {DIR_IN, DIR_OUT};
00014 };
00015 /// 入力ポートの1端子をあらわす.
00016 class SPR_DLL DVInputPortBase:public DVVirtualDevice, public DVPortEnum{
00017 public:
00018     /// デバイスの名前
00019     virtual const char* Name() const =0;
00020     /// 入力ポートの電圧レベル(Hi:1, Lo:0) を返す.
00021     virtual int Get()=0;
00022 
00023     /// デバイスの種類
00024     static const char* TypeS() { return "input port"; }
00025     /// デバイスの種類
00026     virtual const char* Type() const{ return TypeS(); }
00027 };
00028 
00029 /// 出力ポートの1端子をあらわす.
00030 class SPR_DLL DVOutputPortBase:public DVVirtualDevice, public DVPortEnum{
00031 public:
00032     /// デバイスの名前
00033     virtual const char* Name() const =0;
00034     /// 入力ポートの電圧レベル(Hi:1, Lo:0) を返す.
00035     virtual void Set(int l)=0;
00036 
00037     /// デバイスの種類
00038     static const char* TypeS() { return "output port"; }
00039     /// デバイスの種類
00040     virtual const char* Type() const{ return TypeS(); }
00041 };
00042 
00043 
00044 /// PIOの1端子を表す.
00045 class SPR_DLL DVPioBase:public DVVirtualDevice, public DVPortEnum{
00046 public:
00047     /// ポートのロジックレベルの入力。Hi:true Lo:false
00048     virtual int Get()=0;
00049     /// ポートのロジックレベルの出力。Hi:true Lo:false
00050     virtual void Set(int l)=0;
00051     /// デバイスの名前
00052     virtual const char* Name() const =0;
00053     /// デバイスの種類
00054     static const char* TypeS() { return "PIO"; }
00055     /// デバイスの種類
00056     virtual const char* Type() const{ return TypeS(); }
00057 };
00058 
00059 }   //  namespace Spr
00060 #endif

Springheadに対してSun Apr 16 01:57:50 2006に生成されました。  doxygen 1.4.1