1#ifndef LOCAL_DEVICE_ADDON_H 2#define LOCAL_DEVICE_ADDON_H 3 4#include <bluetooth/LocalDevice.h> 5#include <bluetooth/RemoteDevice.h> 6 7class LocalDeviceAddOn { 8 9public: 10 11 virtual const char* GetName()=0; 12 13 virtual status_t InitCheck(LocalDevice* lDevice)=0; 14 15 virtual const char* GetActionDescription()=0; 16 virtual status_t TakeAction(LocalDevice* lDevice)=0; 17 18 virtual const char* GetActionOnRemoteDescription()=0; 19 virtual status_t TakeActionOnRemote(LocalDevice* lDevice, RemoteDevice* rDevice)=0; 20 21 virtual const char* GetOverridenPropertiesDescription()=0; 22 virtual BMessage* OverridenProperties(LocalDevice* lDevice, const char* property)=0; 23 24}; 25 26#define INSTANTIATE_LOCAL_DEVICE_ADDON(addon) LocalDeviceAddOn* InstantiateLocalDeviceAddOn(){return new addon();} 27#define EXPORT_LOCAL_DEVICE_ADDON extern "C" __declspec(dllexport) LocalDeviceAddOn* InstantiateLocalDeviceAddOn(); 28 29 30 31#endif 32