Diarkis C++Client Library API Document
DiarkisInterfaceBase.h
[詳解]
1 // © 2019-2024 Diarkis Inc. All rights reserved.
2 
3 #pragma once
4 
5 #include <condition_variable>
6 #include <functional>
7 
9 #include "DiarkisFieldBase.h"
10 #include "DiarkisGroupBase.h"
11 #include "DiarkisMatchMakerBase.h"
12 #include "DiarkisP2PBase.h"
13 #include "DiarkisRoomBase.h"
14 #include "DiarkisRpcBase.h"
15 #include "DiarkisSessionBase.h"
16 #include "DiarkisTcpBase.h"
17 #include "DiarkisUdpBase.h"
18 #include "diarkis/common.h"
19 
21 #include "diarkis/system/Thread.h"
22 #include "logging/LoggerFactory.h"
24 
25 #define ENABLE_LOGGER 1
26 
34 {
41 };
42 
50 {
51  public:
59  {
60  NotRunning,
61  Running,
62  Finish
63  };
64 
65  public:
76  DiarkisInterfaceBase(const char* userId, bool bInitBaseClass = true);
77 
84  DiarkisInterfaceBase(const std::string& userId, bool bInitBaseClass = true);
85 
92  virtual ~DiarkisInterfaceBase();
93 
108  static bool DiarkisInit(const char* logDirName, LogOutType out = DEBUG_OUT, bool bLog = true, std::shared_ptr<ILoggerBackend> customLogger = nullptr);
109 
116  static bool DiarkisInit(const std::string& logDirName,
117  LogOutType out = DEBUG_OUT,
118  bool bLog = true,
119  std::shared_ptr<ILoggerBackend> customLogger = nullptr);
120 
127  static bool DiarkisDestroy();
128 
135  void UpdateComponents();
136 
143  bool ConnectTcp(void);
144 
151  virtual bool SetupTcp(void);
152 
161  bool ConnectTcp(const char* tcpEndpoint);
162 
169  bool ConnectTcp(const std::string& tcpEndpoint);
170 
177  bool ConnectUdp(void);
178 
197  bool GetEndpoint(const char* host, const char* clientKey, const char* serverType, char* endpoint, size_t endpointBuf);
198 
205  bool GetEndpoint(const std::string& host, const std::string& clientKey, const std::string& type, Diarkis::StdString& endpoint);
206 
213  virtual bool SetupUdp(void);
214 
227  bool ConnectUdp(const char* udpEndpoint, const char* type, struct AuthInfo* auth);
228 
235  bool ConnectUdp(const char* udpEndpoint);
236 
243  bool ConnectUdp(const std::string& udpEndpoint);
244 
263  bool ConnectUdpAsync(const char* udpEndpoint);
264 
271  bool ConnectUdpAsync(const std::string& udpEndpoint);
272 
285  bool ConnectUdpDualModeAsync(const char* udpEndpoint);
286 
293  bool ConnectUdpDualModeAsync(const std::string& udpEndpoint);
294 
303  void GetAuthInfo(struct AuthInfo* auth);
304 
313  virtual void SetupP2P(void);
314 
321  void CloseP2P(void);
322 
331  virtual void SetupRoom(bool bRetry = false);
332 
345  virtual void SetupSession(bool bRetry = false);
346 
353  virtual void SetupRpc();
354 
363  virtual void SetupField(void);
364 
377  virtual void SetupGroup(bool bRetry);
378 
387  virtual void SetupMatchMaker(void);
388 
397  virtual void SetupDirectMessage(void);
398 
414  virtual void SetupProfile(uint32_t interval, uint32_t buffer, bool p2pRandomStart = true);
415 
422  void SetHost(const char* host);
423 
430  void SetHost(const std::string& host);
431 
438  Diarkis::StdString GetHost() const;
439 
446  const Diarkis::StdString& GetClientKey() const;
447 
454  void SetClientKey(const char* clientKey);
455 
462  void SetClientKey(const std::string& clientKey);
463 
470  const Diarkis::StdString& GetUid() const;
471 
478  Diarkis::StdString GetSid() const;
479 
486  void SetSid(const char* sid);
487 
494  void SetSid(const std::string& sid);
495 
502  std::shared_ptr<LoggerFactory> GetLoggerFactory();
503 
510  std::shared_ptr<ILoggerBackend> GetConsoleLoggerBackend();
511 
518  std::shared_ptr<ILoggerBackend> GetDebugLoggerBackend();
519 
526  std::shared_ptr<DiarkisUdpBase> GetUdpBase();
527 
534  std::shared_ptr<DiarkisTcpBase> GetTcpBase();
535 
542  std::shared_ptr<DiarkisP2PBase> GetP2PBase();
543 
550  std::shared_ptr<DiarkisRoomBase> GetRoomBase();
551 
558  std::shared_ptr<DiarkisSessionBase> GetSessionBase();
559 
566  std::shared_ptr<DiarkisGroupBase> GetGroupBase();
567 
574  std::shared_ptr<DiarkisFieldBase> GetFieldBase();
575 
582  std::shared_ptr<DiarkisMatchMakerBase> GetMatchMakerBase();
583 
590  std::shared_ptr<DiarkisRpcBase> GetRpcBase();
591 
598  std::shared_ptr<DiarkisDirectMessageBase> GetDirectMessageBase();
599 
606  std::shared_ptr<Diarkis::Network::IDiarkisProfile> GetProfile();
607 
614  void Stop();
615 
622  void Disconnect();
623 
625  // UDP
627 
633  void SendPing(void);
634 
641  void SendEcho(void);
642 
649  bool IsOffline(void);
650 
652  // P2P
654 
660  void StartP2P(void);
661 
668  uint16_t GetP2PConnectedNum(void);
669 
671  // Room
673 
701  void CreateRoom(uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval);
702 
731  void RandomJoinRoom(uint16_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty);
732 
745  void JoinRoom();
746 
761  void JoinRoom(const char* roomID);
762 
769  void JoinRoom(const std::string& roomID);
770 
789  void SendMessageToRoom(const char** memberIDs, size_t memberIDsCount, const uint8_t* payload, size_t payloadSize, bool reliable);
790 
797  void SendMessageToRoom(const std::vector<std::string>& memberIDs, const std::vector<uint8_t>& payload, bool reliable);
798 
811  void SendLeaveRoom();
812 
827  void FindByTypeRoom(uint32_t roomType, uint32_t limit);
828 
843  void RegisterRoom(uint32_t roomType, const char* roomName, const char* roomMetadata);
844 
851  void RegisterRoom(uint32_t roomType, const std::string& roomName, const std::string& roomMetadata);
852 
867  void SendMigrateRoom(void);
868 
877  void SendGetOwnerID(void);
878 
887  void SendGetMemberIDs(void);
888 
895  Diarkis::StdString GetRoomID();
896 
898  // Group
900 
922  void SendCreateGroup(bool allowEmpty, bool join, uint16_t ttl);
923 
940  void SendJoinGroup(const char* groupID, const char* message);
941 
948  void SendJoinGroup(const std::string& groupID, const std::string& message);
949 
968  void SendRandomJoinGroup(uint16_t ttl, const char* message, uint32_t interval = 200);
969 
976  void SendRandomJoinGroup(uint16_t ttl, const std::string& message, uint32_t interval = 200);
977 
990  void SendLeaveGroup(const char* groupID, const char* message);
991 
998  void SendLeaveGroup(const std::string& groupID, const std::string& message);
999 
1006  Diarkis::StdString GetGroupID();
1007 
1014  void ClearUdpBuffer();
1015 
1048  bool RequestEndpointAsync(const char* host,
1049  const char* clientKey,
1050  const char* type,
1051  DiarkisThreadPolicy policy,
1052  int priority,
1053  uint32_t affinityMask,
1054  uint32_t stackSize);
1055 
1062  bool RequestEndpointAsync(const std::string& host,
1063  const std::string& clientKey,
1064  const std::string& type,
1065  DiarkisThreadPolicy policy,
1066  int priority,
1067  uint32_t affinityMask,
1068  uint32_t stackSize);
1069 
1078  AsyncGetEndpointStatus GetEndpointAsyncStatus() const;
1079 
1090  bool GetAsyncEndpointResult(Diarkis::StdString& endpoint) const;
1091 
1092  protected:
1099  void InitAndStartup(bool bInitBaseClass);
1100 
1107  static void CreateLogFolder();
1108 
1115  static Diarkis::System::Result RuntimeLoop(void* owner);
1116 
1123  void SchedulerAddNotifyEvent();
1124 
1131  static void InitializeLoggerEnvironment();
1132 
1139  static bool IsLogOutputTypeFile();
1140 
1142  {
1143  RuntimeThreadData() : isRunning_(false), runtimeThread_(nullptr), noWait_(false) {}
1144 
1151  void Stop();
1152 
1159  std::atomic<bool> isRunning_;
1160 
1167  std::shared_ptr<Diarkis::System::DiarkisThread> runtimeThread_;
1168 
1175  std::mutex sync_mutex_;
1176 
1183  std::condition_variable sync_condition_;
1184 
1191  bool noWait_;
1192  };
1193 
1201 
1203  {
1210  void AddInstance(DiarkisInterfaceBase* ptr);
1211 
1218  void RemoveInstance(DiarkisInterfaceBase* ptr);
1219 
1228  void Update(bool forceUpdate);
1229 
1236  std::mutex mutex_;
1237 
1245  };
1246 
1254 
1261  static std::shared_ptr<LoggerFactory> globalLoggerFactory_;
1262 
1269  void TerminateGetEndpointAsyncThread();
1270 
1277  std::shared_ptr<DiarkisTcpBase> tcpBase_;
1278 
1285  std::shared_ptr<DiarkisUdpBase> udpBase_;
1286 
1293  std::shared_ptr<DiarkisP2PBase> p2pBase_;
1294 
1301  std::shared_ptr<DiarkisRoomBase> roomBase_;
1302 
1309  std::shared_ptr<DiarkisSessionBase> sessionBase_;
1310 
1317  std::shared_ptr<DiarkisGroupBase> groupBase_;
1318 
1325  std::shared_ptr<DiarkisFieldBase> fieldBase_;
1326 
1333  std::shared_ptr<DiarkisMatchMakerBase> matchMakerBase_;
1334 
1341  std::shared_ptr<DiarkisRpcBase> rpcBase_;
1342 
1349  std::shared_ptr<DiarkisDirectMessageBase> dmBase_;
1350 
1357  std::shared_ptr<Diarkis::Network::IDiarkisProfile> profile_;
1358 
1366 
1374 
1382 
1390 
1398 
1406 
1413  static std::shared_ptr<Diarkis::StdString> logDir_;
1414 
1421  std::shared_ptr<IDiarkisLogger> logger_;
1422 
1429  std::shared_ptr<LoggerFactory> loggerFactory_;
1430 
1437  static std::shared_ptr<ThreadedLoggerBackend> threadLoggerBackend_;
1438 
1445  static std::shared_ptr<ILoggerBackend> consoleLoggerBackend_;
1446 
1453  static std::shared_ptr<ILoggerBackend> debugLoggerBackend_;
1454 
1461  static std::shared_ptr<ILoggerBackend> fileLoggerBackend_;
1462 
1469  static std::shared_ptr<ILoggerBackend> customLoggerBackend_;
1470 
1477  static std::shared_ptr<ILoggerBackend> aggregatedLoggerBackend_;
1478 
1486 
1493  static bool bOutputLog_;
1494 
1502  {
1506  };
1507 
1514  mutable std::mutex connectioninfoMutex_;
1515 
1522  mutable std::mutex asyncGetEndpointMutex_;
1523 
1531 
1539 
1547 
1555 
1563 
1570  std::shared_ptr<Diarkis::System::DiarkisThread> getEndpointAsyncThread_;
1571 
1578  static Diarkis::System::Result GetEndpointAsync(void* owner);
1579 
1586  std::atomic<bool> internalSchedulerUpdated_;
1587 };
profile.h
DiarkisInterfaceBase::AsyncGetEndpointStatus
AsyncGetEndpointStatus
エンドポイントを非同期で取得するプロセスの実行状況
Definition: DiarkisInterfaceBase.h:58
DiarkisInterfaceBase::getEndpointAsyncThread_
std::shared_ptr< Diarkis::System::DiarkisThread > getEndpointAsyncThread_
エンドポイントを非同期で取得するプロセスに使用されるスレッド
Definition: DiarkisInterfaceBase.h:1570
DiarkisInterfaceBase::tcpBase_
std::shared_ptr< DiarkisTcpBase > tcpBase_
DiarkisTcpBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1277
DEBUG_AND_FILE_OUT
@ DEBUG_AND_FILE_OUT
Definition: DiarkisInterfaceBase.h:39
DiarkisInterfaceBase::authInfo_
AuthInfo authInfo_
認証情報
Definition: DiarkisInterfaceBase.h:1405
DiarkisInterfaceBase::p2pBase_
std::shared_ptr< DiarkisP2PBase > p2pBase_
DiarkisP2PBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1293
DiarkisInterfaceBase::ActiveInstanceList::instances_
Diarkis::StdUniquePtr< Diarkis::StdVector< DiarkisInterfaceBase * > > instances_
現在更新プロセスを実行しているインスタンスのリスト。
Definition: DiarkisInterfaceBase.h:1244
DiarkisInterfaceBase::roomBase_
std::shared_ptr< DiarkisRoomBase > roomBase_
DiarkisRoomBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1301
DiarkisInterfaceBase::rpcBase_
std::shared_ptr< DiarkisRpcBase > rpcBase_
DiarkisRpcBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1341
DiarkisInterfaceBase::aggregatedLoggerBackend_
static std::shared_ptr< ILoggerBackend > aggregatedLoggerBackend_
LoggerFactoryで使用されるロガーインターフェース
Definition: DiarkisInterfaceBase.h:1477
DiarkisInterfaceBase::asyncGetEndpointStatus_
AsyncGetEndpointStatus asyncGetEndpointStatus_
エンドポイントを非同期で取得するプロセスの進行状況
Definition: DiarkisInterfaceBase.h:1538
DiarkisP2PBase.h
CONSOLE_OUT
@ CONSOLE_OUT
Definition: DiarkisInterfaceBase.h:38
DiarkisInterfaceBase::host_
Diarkis::StdString host_
接続するHTTPサーバーのアドレス
Definition: DiarkisInterfaceBase.h:1365
DiarkisInterfaceBase::sid_
Diarkis::StdString sid_
セッションID
Definition: DiarkisInterfaceBase.h:1397
DiarkisInterfaceBase::AsyncGetEndpointArgs::serverType
Diarkis::StdString serverType
Definition: DiarkisInterfaceBase.h:1505
DiarkisInterfaceBase::ActiveInstanceList::mutex_
std::mutex mutex_
リスト用のミューテックスオブジェクト
Definition: DiarkisInterfaceBase.h:1236
Diarkis::StdString
Definition: common.h:432
DiarkisInterfaceBase::fieldBase_
std::shared_ptr< DiarkisFieldBase > fieldBase_
DiarkisFieldBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1325
DiarkisInterfaceBase::logDir_
static std::shared_ptr< Diarkis::StdString > logDir_
ログ出力ディレクトリ名
Definition: DiarkisInterfaceBase.h:1413
DiarkisInterfaceBase::ActiveInstanceList
Definition: DiarkisInterfaceBase.h:1202
DiarkisInterfaceBase::loggerFactory_
std::shared_ptr< LoggerFactory > loggerFactory_
LoggerFactoryへのポインタ
Definition: DiarkisInterfaceBase.h:1429
DiarkisInterfaceBase::asyncAuthResult_
AuthInfo asyncAuthResult_
エンドポイントを非同期で取得するプロセスの結果
Definition: DiarkisInterfaceBase.h:1562
DiarkisInterfaceBase::RuntimeThreadData::isRunning_
std::atomic< bool > isRunning_
ランタイムループ終了フラグ
Definition: DiarkisInterfaceBase.h:1159
DiarkisInterfaceBase::AsyncGetEndpointArgs::clientKey
Diarkis::StdString clientKey
Definition: DiarkisInterfaceBase.h:1504
Diarkis::System::Result
特定の結果値に関する情報を含んでいます。 別のResult構造体と比較することができます。デバッグ体験を向上させるためにテキスト形式で出力することも可能です。
Definition: result.h:37
Diarkis::StdUniquePtr
std::unique_ptr< T, Diarkis::DiarkisAllocatorDeleter< T > > StdUniquePtr
Definition: common.h:384
DiarkisInterfaceBase::matchMakerBase_
std::shared_ptr< DiarkisMatchMakerBase > matchMakerBase_
DiarkisMatchMakerBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1333
DiarkisInterfaceBase::activeInstances_
static ActiveInstanceList activeInstances_
アクティブインスタンスのリストです。
Definition: DiarkisInterfaceBase.h:1253
DiarkisDirectMessageBase.h
DiarkisInterfaceBase::sessionBase_
std::shared_ptr< DiarkisSessionBase > sessionBase_
DiarkisSessionBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1309
DiarkisInterfaceBase::uid_
const Diarkis::StdString uid_
自分のユーザーID
Definition: DiarkisInterfaceBase.h:1381
DiarkisInterfaceBase::logger_
std::shared_ptr< IDiarkisLogger > logger_
ロガークラスへのポインター
Definition: DiarkisInterfaceBase.h:1421
DiarkisInterfaceBase::fileLoggerBackend_
static std::shared_ptr< ILoggerBackend > fileLoggerBackend_
ファイル出力用のロガー
Definition: DiarkisInterfaceBase.h:1461
FILE_OUT
@ FILE_OUT
Definition: DiarkisInterfaceBase.h:36
DiarkisInterfaceBase::RuntimeThreadData::noWait_
bool noWait_
条件変数を使用して待機する必要があるかどうか。
Definition: DiarkisInterfaceBase.h:1191
DiarkisInterfaceBase::RuntimeThreadData::sync_condition_
std::condition_variable sync_condition_
プロセス起動のタイミングを制御するために使用される条件変数。
Definition: DiarkisInterfaceBase.h:1183
DiarkisRoomBase.h
DiarkisInterfaceBase::globalLoggerFactory_
static std::shared_ptr< LoggerFactory > globalLoggerFactory_
DiarkisInterfaceBaseのグローバルプロセスのロギングに使用されるLoggerFactory
Definition: DiarkisInterfaceBase.h:1261
DiarkisRpcBase.h
DiarkisInterfaceBase::serverType_
Diarkis::StdString serverType_
サーバータイプ
Definition: DiarkisInterfaceBase.h:1389
DiarkisUdpBase.h
DiarkisInterfaceBase::asyncEndpointResult_
Diarkis::StdString asyncEndpointResult_
エンドポイントを非同期で取得するプロセスの結果
Definition: DiarkisInterfaceBase.h:1554
DiarkisSessionBase.h
DEBUG_OUT
@ DEBUG_OUT
Definition: DiarkisInterfaceBase.h:35
DiarkisInterfaceBase::asyncGetEndpointArgs_
AsyncGetEndpointArgs asyncGetEndpointArgs_
エンドポイントプロセスを非同期で取得する際の引数
Definition: DiarkisInterfaceBase.h:1530
DiarkisInterfaceBase::profile_
std::shared_ptr< Diarkis::Network::IDiarkisProfile > profile_
IDiarkisProfileクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1357
DiarkisInterfaceBase::logOutType_
static LogOutType logOutType_
デバッグ出力のタイプ
Definition: DiarkisInterfaceBase.h:1485
AuthInfo
Definition: common.h:65
DiarkisInterfaceBase::connectioninfoMutex_
std::mutex connectioninfoMutex_
GetEndpointメソッドで変更される変数用のミューテックス
Definition: DiarkisInterfaceBase.h:1514
DiarkisInterfaceBase::AsyncGetEndpointArgs::host
Diarkis::StdString host
Definition: DiarkisInterfaceBase.h:1503
LogOutType
LogOutType
ログ出力の種類
Definition: DiarkisInterfaceBase.h:33
DiarkisInterfaceBase::internalSchedulerUpdated_
std::atomic< bool > internalSchedulerUpdated_
スケジューラが更新されている場合に有効になるフラグ
Definition: DiarkisInterfaceBase.h:1586
FILE_OUT_TO_SPECIFIC_PATH
@ FILE_OUT_TO_SPECIFIC_PATH
Definition: DiarkisInterfaceBase.h:37
Thread.h
DiarkisInterfaceBase::bOutputLog_
static bool bOutputLog_
ログ出力するかどうか
Definition: DiarkisInterfaceBase.h:1493
DiarkisInterfaceBase
Diarkisライブラリを操作するインタフェースの基本クラス
Definition: DiarkisInterfaceBase.h:49
DiarkisGroupBase.h
DiarkisInterfaceBase::threadLoggerBackend_
static std::shared_ptr< ThreadedLoggerBackend > threadLoggerBackend_
集団出力用のスレッド化されたロガー
Definition: DiarkisInterfaceBase.h:1437
common.h
DiarkisInterfaceBase::clientKey_
Diarkis::StdString clientKey_
接続するHTTPサーバーのクライアントキー
Definition: DiarkisInterfaceBase.h:1373
CUSTOM
@ CUSTOM
Definition: DiarkisInterfaceBase.h:40
DiarkisInterfaceBase::dmBase_
std::shared_ptr< DiarkisDirectMessageBase > dmBase_
DiarkisDirectMessageBaseクラスへのポインター
Definition: DiarkisInterfaceBase.h:1349
Diarkis::System::DiarkisThreadPolicy
DiarkisThreadPolicy
スレッドスケジューリングポリシー
Definition: Thread.h:44
DiarkisInterfaceBase::RuntimeThreadData::runtimeThread_
std::shared_ptr< Diarkis::System::DiarkisThread > runtimeThread_
ランタイムループスレッド
Definition: DiarkisInterfaceBase.h:1167
DiarkisInterfaceBase::RuntimeThreadData::RuntimeThreadData
RuntimeThreadData()
Definition: DiarkisInterfaceBase.h:1143
DiarkisInterfaceBase::asyncGetEndpointMutex_
std::mutex asyncGetEndpointMutex_
非同期でエンドポイントを取得する全体のプロセスのためのミューテックス
Definition: DiarkisInterfaceBase.h:1522
DiarkisInterfaceBase::udpBase_
std::shared_ptr< DiarkisUdpBase > udpBase_
DiarkisUdpBase クラスへのポインタ
Definition: DiarkisInterfaceBase.h:1285
DiarkisInterfaceBase::asyncGetEndpointResult_
bool asyncGetEndpointResult_
エンドポイントを非同期で取得するプロセスの結果
Definition: DiarkisInterfaceBase.h:1546
DiarkisInterfaceBase::customLoggerBackend_
static std::shared_ptr< ILoggerBackend > customLoggerBackend_
カスタムロガー
Definition: DiarkisInterfaceBase.h:1469
DiarkisInterfaceBase::groupBase_
std::shared_ptr< DiarkisGroupBase > groupBase_
DiarkisGroupBaseクラスへのポインタ
Definition: DiarkisInterfaceBase.h:1317
DiarkisTcpBase.h
DiarkisInterfaceBase::debugLoggerBackend_
static std::shared_ptr< ILoggerBackend > debugLoggerBackend_
デバッグ出力のためのロガー
Definition: DiarkisInterfaceBase.h:1453
DIARKIS_API
#define DIARKIS_API
Definition: common.h:47
DiarkisFieldBase.h
DiarkisInterfaceBase::AsyncGetEndpointArgs
エンドポイントプロセスを非同期で取得する際に渡す引数
Definition: DiarkisInterfaceBase.h:1501
DiarkisMatchMakerBase.h
DiarkisInterfaceBase::runtimeThreadData_
static RuntimeThreadData runtimeThreadData_
ランタイムスレッドのデータ
Definition: DiarkisInterfaceBase.h:1200
ConsoleLoggerBackend.h
DiarkisInterfaceBase::RuntimeThreadData::sync_mutex_
std::mutex sync_mutex_
条件変数で使用されるミューテックスオブジェクト。
Definition: DiarkisInterfaceBase.h:1175
DiarkisInterfaceBase::RuntimeThreadData
Definition: DiarkisInterfaceBase.h:1141
DiarkisInterfaceBase::consoleLoggerBackend_
static std::shared_ptr< ILoggerBackend > consoleLoggerBackend_
コンソール出力用のロガー
Definition: DiarkisInterfaceBase.h:1445