Solution46
CEvent.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// イベントクラスヘッダファイル
4 ///
5 /// イベントクラスヘッダファイルです。
6 ///
7 /// $Id: CEvent.h 245 2019-03-20 15:03:41Z admin $
8 /// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9 /// $Author: admin $
10 ///
11 /// @attention なし
12 
13 #pragma once
14 #pragma managed( push, off )
15 
16 //=============================================================================
17 // インクルードファイル
18 #include <CSync.h>
19 
20 //=============================================================================
21 // 共通ライブラリ名前空間
22 namespace LibCommon {
23  //=========================================================================
24  /// イベントクラス
25  ///
26  /// イベントクラスです。
27  ///
28  /// @attention なし
29  ///
30  class LIB_COMMON_API CEvent: public CSync {
31  //=====================================================================
32  // 構築子と解体子
33  public:
34  //---------------------------------------------------------------------
35  /// コンストラクタ
36  ///
37  /// コンストラクタです。
38  ///
39  /// @param なし
40  /// @return なし
41  /// @attention なし
42  ///
43  explicit CEvent() noexcept;
44 
45  //---------------------------------------------------------------------
46  /// デストラクタ
47  ///
48  /// デストラクタです。
49  ///
50  /// @param なし
51  /// @return なし
52  /// @attention なし
53  ///
54  virtual ~CEvent() noexcept {}
55 
56  //=====================================================================
57  // 公開関数
58  public:
59  //---------------------------------------------------------------------
60  /// リリース関数
61  ///
62  /// リリース関数です。
63  ///
64  /// @param なし
65  /// @return 実行結果
66  /// - true 成功
67  /// - false 失敗
68  /// @attention オーバライド関数です。
69  ///
70  virtual bool Release() noexcept override;
71 
72  //---------------------------------------------------------------------
73  /// 作成関数
74  ///
75  /// 作成関数です。
76  ///
77  /// @param[in] pszObjectName オブジェクト名
78  /// @return 実行結果
79  /// - true 成功
80  /// - false 失敗
81  /// @attention なし
82  ///
83  virtual bool Create( wchar_t const* pszObjectName = nullptr ) noexcept;
84 
85  //---------------------------------------------------------------------
86  /// 作成関数
87  ///
88  /// 作成関数です。
89  ///
90  /// @param[in] bManual 手動モードフラグ
91  /// @param[in] bState 初期状態
92  /// @param[in] pszObjectName オブジェクト名
93  /// @return 実行結果
94  /// - true 成功
95  /// - false 失敗
96  /// @attention なし
97  ///
98  virtual bool Create( bool bManual, bool bState, wchar_t const* pszObjectName = nullptr ) noexcept;
99 
100  //---------------------------------------------------------------------
101  /// オープン関数
102  ///
103  /// オープン関数です。
104  ///
105  /// @param[in] pszObjectName オブジェクト名
106  /// @return 実行結果
107  /// - true 成功
108  /// - false 失敗
109  /// @attention なし
110  ///
111  virtual bool Open( wchar_t const* pszObjectName ) noexcept;
112 
113  //---------------------------------------------------------------------
114  /// シグナルセット関数
115  ///
116  /// シグナルセット関数です。
117  ///
118  /// @param なし
119  /// @return 実行結果
120  /// - true 成功
121  /// - false 失敗
122  /// @attention なし
123  ///
124  virtual bool Set() noexcept;
125 
126  //---------------------------------------------------------------------
127  /// シグナルリセット関数
128  ///
129  /// シグナルリセット関数です。
130  ///
131  /// @param なし
132  /// @return 実行結果
133  /// - true 成功
134  /// - false 失敗
135  /// @attention なし
136  ///
137  virtual bool Reset() noexcept;
138 
139  //---------------------------------------------------------------------
140  /// シグナルパルス関数
141  ///
142  /// シグナルパルス関数です。
143  ///
144  /// @param なし
145  /// @return 実行結果
146  /// - true 成功
147  /// - false 失敗
148  /// @attention なし
149  ///
150  virtual bool Pulse() noexcept;
151 
152  //=====================================================================
153  // 静的限定公開文字列定数
154  protected:
155  static wchar_t const* const OBJECT_NAME_EXT; ///< オブジェクト名拡張子
156 
157  //=====================================================================
158  // 削除関数
159  private:
160  CEvent( CEvent const& ) = delete;
161  CEvent& operator=( CEvent const& ) = delete;
162  };
163 }
164 
165 #pragma managed( pop )
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子
Definition: CEvent.h:155
同期クラスヘッダファイル
同期クラス
Definition: CSync.h:30
イベントクラス
Definition: CEvent.h:30
共通ライブラリ名前空間
Definition: CArray.h:23
#define LIB_COMMON_API
ダイナミックライブラリインポート宣言
Definition: LibCommonDef.h:44
virtual ~CEvent() noexcept
デストラクタ
Definition: CEvent.h:54