haiku/headers/os/bluetooth/LocalDeviceAddOn.h

32 lines
922 B
C++

#ifndef LOCAL_DEVICE_ADDON_H
#define LOCAL_DEVICE_ADDON_H
#include <bluetooth/LocalDevice.h>
#include <bluetooth/RemoteDevice.h>
class LocalDeviceAddOn {
public:
virtual const char* GetName()=0;
virtual status_t InitCheck(LocalDevice* lDevice)=0;
virtual const char* GetActionDescription()=0;
virtual status_t TakeAction(LocalDevice* lDevice)=0;
virtual const char* GetActionOnRemoteDescription()=0;
virtual status_t TakeActionOnRemote(LocalDevice* lDevice, RemoteDevice* rDevice)=0;
virtual const char* GetOverridenPropertiesDescription()=0;
virtual BMessage* OverridenProperties(LocalDevice* lDevice, const char* property)=0;
};
#define INSTANTIATE_LOCAL_DEVICE_ADDON(addon) LocalDeviceAddOn* InstantiateLocalDeviceAddOn(){return new addon();}
#define EXPORT_LOCAL_DEVICE_ADDON extern "C" __declspec(dllexport) LocalDeviceAddOn* InstantiateLocalDeviceAddOn();
#endif