14772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#ifndef ANDROID_HARDWARE_RENDERSCRIPT_V1_0_DEVICE_H 24772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#define ANDROID_HARDWARE_RENDERSCRIPT_V1_0_DEVICE_H 34772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 44772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#include "cpp/rsDispatch.h" 54772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#include "dlfcn.h" 64772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#include <android/hardware/renderscript/1.0/IDevice.h> 74772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#include <hidl/MQDescriptor.h> 84772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#include <hidl/Status.h> 94772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 104772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangnamespace android { 114772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangnamespace hardware { 124772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangnamespace renderscript { 134772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangnamespace V1_0 { 144772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangnamespace implementation { 154772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 164772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::hardware::renderscript::V1_0::ContextType; 174772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::hardware::renderscript::V1_0::IContext; 184772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::hardware::renderscript::V1_0::IDevice; 194772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::hidl::base::V1_0::IBase; 204772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::hardware::Return; 214772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangusing ::android::sp; 224772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 234772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangstruct Device : public IDevice { 244772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang Device(); 254772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang static dispatchTable& getHal(); 264772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 274772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang // Methods from ::android::hardware::renderscript::V1_0::IDevice follow. 284772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang Return<sp<IContext>> contextCreate(uint32_t sdkVersion, ContextType ct, int32_t flags) override; 294772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 304772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang // Methods from ::android::hidl::base::V1_0::IBase follow. 314772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 324772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang private: 334772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang static dispatchTable mDispatchHal; 344772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang}; 354772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 364772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wangextern "C" IDevice* HIDL_FETCH_IDevice(const char* name); 374772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 384772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang} // namespace implementation 394772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang} // namespace V1_0 404772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang} // namespace renderscript 414772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang} // namespace hardware 424772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang} // namespace android 434772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang 444772b6088a7d6faa6ac481bf2dd83633c9779d2fMiao Wang#endif // ANDROID_HARDWARE_RENDERSCRIPT_V1_0_DEVICE_H 45