|
|
|
@ -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"},
|
|
|
|
|