Flyby SDK v0.3.0
Loading...
Searching...
No Matches
drone.h
Go to the documentation of this file.
1
9#pragma once
10
11#include <memory>
12
13namespace flyby {
14 class PayloadInterface;
15
22 class Drone {
23 public:
27 Drone() = default;
28
29 virtual ~Drone() = default;
30
36 virtual void start_server() = 0;
37
45 virtual void register_payload(std::shared_ptr<PayloadInterface> payload) = 0;
46 };
47
56 public:
57 DroneFactory() = delete;
58
62 [[nodiscard]] static std::unique_ptr<Drone> create_drone();
63 };
64}
Produces new Drone class instances.
Definition drone.h:55
static std::unique_ptr< Drone > create_drone()
Creates a new instance of the Drone class.
The main interface between the payload, drone, and drone controller.
Definition drone.h:22
Drone()=default
The default constructor.
virtual void start_server()=0
Starts the server for the registered payload.
virtual void register_payload(std::shared_ptr< PayloadInterface > payload)=0
Registers the payload with the drone.