Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
ISnapshotGenerator.h
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_ISNAPSHOT_GENERATOR_H
4 #define GRAIL_ISNAPSHOT_GENERATOR_H
5 
6 #include "IDebugSnapshotReceiver.h"
7 #include "ITimestampProvider.h"
8 
9 #include <memory>
10 
11 namespace grail
12 {
14  {
15  public:
16  ISnapshotGenerator() = default;
17  ISnapshotGenerator(const ISnapshotGenerator&) = delete;
19  ISnapshotGenerator& operator=(const ISnapshotGenerator&) = delete;
20  ISnapshotGenerator& operator=(ISnapshotGenerator&&) = delete;
21  virtual ~ISnapshotGenerator() = default;
22 
23  virtual void SetTimestampProvider(const std::shared_ptr<ITimestampProvider>& provider) = 0;
24  virtual void ProduceSnapshot() = 0;
25  virtual void AddReceiver(IDebugSnapshotReceiver* receiver) = 0;
26  virtual void RemoveReceiver(IDebugSnapshotReceiver* receiver) = 0;
27  virtual void Release() = 0;
28  };
29 }
30 
31 #endif
grail::IDebugSnapshotReceiver
Definition: IDebugSnapshotReceiver.h:16
grail::ISnapshotGenerator
Definition: ISnapshotGenerator.h:13