|
|
|
@ -26,7 +26,7 @@ public: |
|
|
|
// This default size was chosen arbitrarily.
|
|
|
|
static constexpr size_t DefaultBufferSize = 0x40; |
|
|
|
Parcel() : buffer(DefaultBufferSize) {} |
|
|
|
Parcel(std::vector<u8> data) : buffer(std::move(data)) {} |
|
|
|
explicit Parcel(std::vector<u8> data) : buffer(std::move(data)) {} |
|
|
|
virtual ~Parcel() = default; |
|
|
|
|
|
|
|
template <typename T> |
|
|
|
@ -121,7 +121,7 @@ private: |
|
|
|
|
|
|
|
class NativeWindow : public Parcel { |
|
|
|
public: |
|
|
|
NativeWindow(u32 id) : Parcel() { |
|
|
|
explicit NativeWindow(u32 id) : Parcel() { |
|
|
|
data.id = id; |
|
|
|
} |
|
|
|
~NativeWindow() override = default; |
|
|
|
@ -147,7 +147,7 @@ private: |
|
|
|
|
|
|
|
class IGBPConnectRequestParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPConnectRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
explicit IGBPConnectRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
Deserialize(); |
|
|
|
} |
|
|
|
~IGBPConnectRequestParcel() override = default; |
|
|
|
@ -168,7 +168,7 @@ public: |
|
|
|
|
|
|
|
class IGBPConnectResponseParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPConnectResponseParcel(u32 width, u32 height) : Parcel() { |
|
|
|
explicit IGBPConnectResponseParcel(u32 width, u32 height) : Parcel() { |
|
|
|
data.width = width; |
|
|
|
data.height = height; |
|
|
|
} |
|
|
|
@ -194,7 +194,8 @@ private: |
|
|
|
|
|
|
|
class IGBPSetPreallocatedBufferRequestParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPSetPreallocatedBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
explicit IGBPSetPreallocatedBufferRequestParcel(const std::vector<u8>& buffer) |
|
|
|
: Parcel(buffer) { |
|
|
|
Deserialize(); |
|
|
|
} |
|
|
|
~IGBPSetPreallocatedBufferRequestParcel() override = default; |
|
|
|
@ -231,7 +232,7 @@ protected: |
|
|
|
|
|
|
|
class IGBPDequeueBufferRequestParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPDequeueBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
explicit IGBPDequeueBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
Deserialize(); |
|
|
|
} |
|
|
|
~IGBPDequeueBufferRequestParcel() override = default; |
|
|
|
@ -254,7 +255,7 @@ public: |
|
|
|
|
|
|
|
class IGBPDequeueBufferResponseParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPDequeueBufferResponseParcel(u32 slot) : Parcel(), slot(slot) {} |
|
|
|
explicit IGBPDequeueBufferResponseParcel(u32 slot) : Parcel(), slot(slot) {} |
|
|
|
~IGBPDequeueBufferResponseParcel() override = default; |
|
|
|
|
|
|
|
protected: |
|
|
|
@ -271,7 +272,7 @@ protected: |
|
|
|
|
|
|
|
class IGBPRequestBufferRequestParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPRequestBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
explicit IGBPRequestBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
Deserialize(); |
|
|
|
} |
|
|
|
~IGBPRequestBufferRequestParcel() override = default; |
|
|
|
@ -286,7 +287,7 @@ public: |
|
|
|
|
|
|
|
class IGBPRequestBufferResponseParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPRequestBufferResponseParcel(IGBPBuffer buffer) : Parcel(), buffer(buffer) {} |
|
|
|
explicit IGBPRequestBufferResponseParcel(IGBPBuffer buffer) : Parcel(), buffer(buffer) {} |
|
|
|
~IGBPRequestBufferResponseParcel() override = default; |
|
|
|
|
|
|
|
protected: |
|
|
|
@ -307,7 +308,7 @@ protected: |
|
|
|
|
|
|
|
class IGBPQueueBufferRequestParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPQueueBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
explicit IGBPQueueBufferRequestParcel(const std::vector<u8>& buffer) : Parcel(buffer) { |
|
|
|
Deserialize(); |
|
|
|
} |
|
|
|
~IGBPQueueBufferRequestParcel() override = default; |
|
|
|
@ -330,7 +331,7 @@ public: |
|
|
|
|
|
|
|
class IGBPQueueBufferResponseParcel : public Parcel { |
|
|
|
public: |
|
|
|
IGBPQueueBufferResponseParcel(u32 width, u32 height) : Parcel() { |
|
|
|
explicit IGBPQueueBufferResponseParcel(u32 width, u32 height) : Parcel() { |
|
|
|
data.width = width; |
|
|
|
data.height = height; |
|
|
|
} |
|
|
|
@ -356,7 +357,7 @@ private: |
|
|
|
|
|
|
|
class IHOSBinderDriver final : public ServiceFramework<IHOSBinderDriver> { |
|
|
|
public: |
|
|
|
IHOSBinderDriver(std::shared_ptr<NVFlinger> nv_flinger) |
|
|
|
explicit IHOSBinderDriver(std::shared_ptr<NVFlinger> nv_flinger) |
|
|
|
: ServiceFramework("IHOSBinderDriver"), nv_flinger(std::move(nv_flinger)) { |
|
|
|
static const FunctionInfo functions[] = { |
|
|
|
{0, &IHOSBinderDriver::TransactParcel, "TransactParcel"}, |
|
|
|
@ -506,7 +507,7 @@ private: |
|
|
|
|
|
|
|
class IManagerDisplayService final : public ServiceFramework<IManagerDisplayService> { |
|
|
|
public: |
|
|
|
IManagerDisplayService(std::shared_ptr<NVFlinger> nv_flinger) |
|
|
|
explicit IManagerDisplayService(std::shared_ptr<NVFlinger> nv_flinger) |
|
|
|
: ServiceFramework("IManagerDisplayService"), nv_flinger(std::move(nv_flinger)) { |
|
|
|
static const FunctionInfo functions[] = { |
|
|
|
{1020, &IManagerDisplayService::CloseDisplay, "CloseDisplay"}, |
|
|
|
|