Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c0236c5 authored by Joe Onorato's avatar Joe Onorato Committed by Mike Lockwood
Browse files

Suport RpcData as a parcelable type.

parent b71287f4
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -903,6 +903,14 @@ ParcelableType::ParcelableType(const string& package, const string& name,
{
}

ParcelableType::ParcelableType(const string& package, const string& name,
                            bool builtIn, bool canWriteToRpcData,
                            const string& declFile, int declLine)
    :Type(package, name, builtIn ? BUILT_IN : PARCELABLE, true, canWriteToRpcData, true,
            declFile, declLine)
{
}

string
ParcelableType::CreatorName() const
{
@@ -1258,7 +1266,7 @@ GenericListType::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variabl
// ================================================================

RpcDataType::RpcDataType()
    :Type("com.android.athome.rpc", "RpcData", Type::BUILT_IN, false, true, true)
    :ParcelableType("com.android.athome.rpc", "RpcData", true, true)
{
}

+19 −17
Original line number Diff line number Diff line
@@ -355,6 +355,9 @@ class ParcelableType : public Type
public:
                    ParcelableType(const string& package, const string& name,
                            bool builtIn, const string& declFile, int declLine);
                    ParcelableType(const string& package, const string& name,
                            bool builtIn, bool canWriteToRpcData,
                            const string& declFile = "", int declLine = -1);

    virtual string  CreatorName() const;

@@ -434,6 +437,22 @@ private:
    vector<Type*> m_args;
};

class RpcDataType : public ParcelableType
{
public:
                    RpcDataType();

    virtual void    WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v,
                                    Variable* data, int flags);
    virtual void    CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v,
                                    Variable* data, Variable** cl);
};

class ClassLoaderType : public Type
{
public:
                    ClassLoaderType();
};

class GenericListType : public GenericType
{
@@ -460,23 +479,6 @@ private:
    string m_creator;
};

class RpcDataType : public Type
{
public:
                    RpcDataType();

    virtual void    WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v,
                                    Variable* data, int flags);
    virtual void    CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v,
                                    Variable* data, Variable** cl);
};

class ClassLoaderType : public Type
{
public:
                    ClassLoaderType();
};

class Namespace
{
public: