A C++ SDK for developing NeoRadar plugins.
- C++20 or later
- CMake 3.15 or later
Add this SDK as a git submodule to your project:
git submodule add https://github.com/neoradar-project/sdk-cpp.git third-party/NeoRadarSDK
git submodule update --init --recursiveIn your CMakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(MyPlugin)
# Add the SDK
add_subdirectory(third-party/NeoRadarSDK)
# Create your plugin
add_library(MyPlugin SHARED
src/MyPlugin.cpp
src/other_files.cpp
)
# Link against the SDK
target_link_libraries(MyPlugin
PRIVATE
NeoRadarSDK::NeoRadarSDK
)If you've installed the SDK system-wide:
find_package(NeoRadarSDK REQUIRED)
add_library(MyPlugin SHARED src/MyPlugin.cpp)
target_link_libraries(MyPlugin PRIVATE NeoRadarSDK::NeoRadarSDK)
#include <NeoRadarSDK/SDK.h>
class MyPlugin : public PluginSDK::BasePlugin {
public:
void Initialize(const PluginSDK::PluginMetadata& metadata,
PluginSDK::CoreAPI* coreAPI,
PluginSDK::ClientInformation info) override {
// Initialize your plugin
}
void Shutdown() override {
// Clean up resources
}
PluginSDK::PluginMetadata GetMetadata() const override {
return {
.name = "MyPlugin",
.version = "1.0.0",
.author = "Your Name"
};
}
// Override event handlers as needed
void OnAircraftConnected(const PluginSDK::Aircraft::AircraftConnectedEvent* event) override {
// Handle aircraft connection
}
};
// Required export
extern "C" {
PLUGIN_API PluginSDK::BasePlugin* CreatePluginInstance() {
return new MyPlugin();
}
}