diff options
Diffstat (limited to 'libs/surfaceflinger_client/ISurfaceComposer.cpp')
| -rw-r--r-- | libs/surfaceflinger_client/ISurfaceComposer.cpp | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/libs/surfaceflinger_client/ISurfaceComposer.cpp b/libs/surfaceflinger_client/ISurfaceComposer.cpp index b6f4e24a2ab0..5c111f64c768 100644 --- a/libs/surfaceflinger_client/ISurfaceComposer.cpp +++ b/libs/surfaceflinger_client/ISurfaceComposer.cpp @@ -46,13 +46,22 @@ public:      {      } -    virtual sp<ISurfaceFlingerClient> createConnection() +    virtual sp<ISurfaceComposerClient> createConnection()      {          uint32_t n;          Parcel data, reply;          data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor());          remote()->transact(BnSurfaceComposer::CREATE_CONNECTION, data, &reply); -        return interface_cast<ISurfaceFlingerClient>(reply.readStrongBinder()); +        return interface_cast<ISurfaceComposerClient>(reply.readStrongBinder()); +    } + +    virtual sp<ISurfaceComposerClient> createClientConnection() +    { +        uint32_t n; +        Parcel data, reply; +        data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); +        remote()->transact(BnSurfaceComposer::CREATE_CLIENT_CONNECTION, data, &reply); +        return interface_cast<ISurfaceComposerClient>(reply.readStrongBinder());      }      virtual sp<IMemoryHeap> getCblk() const @@ -136,6 +145,11 @@ status_t BnSurfaceComposer::onTransact(              sp<IBinder> b = createConnection()->asBinder();              reply->writeStrongBinder(b);          } break; +        case CREATE_CLIENT_CONNECTION: { +            CHECK_INTERFACE(ISurfaceComposer, data, reply); +            sp<IBinder> b = createClientConnection()->asBinder(); +            reply->writeStrongBinder(b); +        } break;          case OPEN_GLOBAL_TRANSACTION: {              CHECK_INTERFACE(ISurfaceComposer, data, reply);              openGlobalTransaction(); | 
