nx_metadata_sdk  1.0
Metadata SDK
vehicles.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include "abstract_object.h"
6 
7 namespace nx {
8 namespace vms_server_plugins {
9 namespace analytics {
10 namespace stub {
11 
12 const std::string kCarObjectType = "nx.stub.car";
13 const std::string kTruckObjectType = "nx.stub.truck";
14 
15 class Vehicle: public AbstractObject
16 {
17  using base_type = AbstractObject;
18 public:
19  Vehicle(const std::string& typeId, Attributes attributes);
20  virtual void update() override;
21 protected:
22  void updateDistanceAttributeIfItExists();
23 };
24 
25 class Car: public Vehicle
26 {
27 public:
28  Car();
29 };
30 
31 class Truck: public Vehicle
32 {
33 public:
34  Truck();
35 };
36 
37 } // namespace stub
38 } // namespace analytics
39 } // namespace vms_server_plugins
40 } // namespace nx
Definition: apple_utils.h:6