ArmNN
 20.05
TimelineDecoder.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
8 
9 #include <vector>
10 
11 namespace armnn
12 {
13 namespace timelinedecoder
14 {
16 {
17 
18 public:
19 
20  struct Model
21  {
22  std::vector<Entity> m_Entities;
23  std::vector<EventClass> m_EventClasses;
24  std::vector<Event> m_Events;
25  std::vector<Label> m_Labels;
26  std::vector<Relationship> m_Relationships;
27  };
28 
29  using OnNewEntityCallback = void (*)(Model &, const Entity);
30  using OnNewEventClassCallback = void (*)(Model &, const EventClass);
31  using OnNewEventCallback = void (*)(Model &, const Event);
32  using OnNewLabelCallback = void (*)(Model &, const Label);
33  using OnNewRelationshipCallback = void (*)(Model &, const Relationship);
34 
35  virtual TimelineStatus CreateEntity(const Entity &) override;
36  virtual TimelineStatus CreateEventClass(const EventClass &) override;
37  virtual TimelineStatus CreateEvent(const Event &) override;
38  virtual TimelineStatus CreateLabel(const Label &) override;
39  virtual TimelineStatus CreateRelationship(const Relationship &) override;
40 
41  const Model& GetModel();
42 
48 
49  void SetDefaultCallbacks();
50 
51  void print();
52 
53 private:
54  Model m_Model;
55 
56  OnNewEntityCallback m_OnNewEntityCallback;
57  OnNewEventClassCallback m_OnNewEventClassCallback;
58  OnNewEventCallback m_OnNewEventCallback;
59  OnNewLabelCallback m_OnNewLabelCallback;
60  OnNewRelationshipCallback m_OnNewRelationshipCallback;
61 
62  void printLabels();
63  void printEntities();
64  void printEventClasses();
65  void printRelationships();
66  void printEvents();
67 };
68 
69 }
70 }
TimelineStatus SetRelationshipCallback(const OnNewRelationshipCallback)
virtual TimelineStatus CreateEvent(const Event &) override
void(*)(Model &, const Relationship) OnNewRelationshipCallback
Copyright (c) 2020 ARM Limited.
virtual TimelineStatus CreateEntity(const Entity &) override
void(*)(Model &, const Event) OnNewEventCallback
virtual TimelineStatus CreateLabel(const Label &) override
TimelineStatus SetEventClassCallback(const OnNewEventClassCallback)
void(*)(Model &, const Entity) OnNewEntityCallback
virtual TimelineStatus CreateRelationship(const Relationship &) override
void(*)(Model &, const EventClass) OnNewEventClassCallback
virtual TimelineStatus CreateEventClass(const EventClass &) override
void(*)(Model &, const Label) OnNewLabelCallback
TimelineStatus SetLabelCallback(const OnNewLabelCallback)
TimelineStatus SetEntityCallback(const OnNewEntityCallback)
TimelineStatus SetEventCallback(const OnNewEventCallback)