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 const std::string kVehicleObjectType = "nx.stub.vehicle";
15
16 class Vehicle: public AbstractObject
17 {
18 using base_type = AbstractObject;
19 public:
20 Vehicle(const std::string& typeId, Attributes attributes);
21 virtual void update() override;
22 protected:
23 void updateDistanceAttributeIfItExists();
24 };
25
26 class Car: public Vehicle
27 {
28 public:
29 Car();
30 };
31
32 class Truck: public Vehicle
33 {
34 public:
35 Truck();
36 };
37
38 } // namespace stub
39 } // namespace analytics
40 } // namespace vms_server_plugins
41 } // namespace nx
nx::vms_server_plugins::analytics::stub::AbstractObject
Definition: abstract_object.h:22
nx::vms_server_plugins::analytics::stub::Car
Definition: vehicles.h:26
nx
Definition: apple_utils.h:6
nx::vms_server_plugins::analytics::stub::Vehicle
Definition: vehicles.h:16
nx::vms_server_plugins::analytics::stub::Truck
Definition: vehicles.h:32