Add RpcData as a built-in marshallable type.
This commit is contained in:
committed by
Mike Lockwood
parent
05ffbe7c02
commit
1eb720446d
@@ -130,8 +130,7 @@ register_base_types()
|
||||
Type::BUILT_IN, false, false);
|
||||
NAMES.Add(RPC_SERVICE_BASE_TYPE);
|
||||
|
||||
RPC_DATA_TYPE = new Type("com.android.athome.rpc", "RpcData",
|
||||
Type::BUILT_IN, false, false);
|
||||
RPC_DATA_TYPE = new RpcDataType();
|
||||
NAMES.Add(RPC_DATA_TYPE);
|
||||
|
||||
RPC_BROKER_TYPE = new Type("com.android.athome.utils", "AndroidAtHomeBroker",
|
||||
@@ -1207,6 +1206,29 @@ GenericListType::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variabl
|
||||
new LiteralExpression(classArg))));
|
||||
}
|
||||
|
||||
|
||||
// ================================================================
|
||||
|
||||
RpcDataType::RpcDataType()
|
||||
:Type("com.android.athome.rpc", "RpcData", Type::BUILT_IN, false, false)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RpcDataType::WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v,
|
||||
Variable* data, int flags)
|
||||
{
|
||||
addTo->Add(new MethodCall(data, "putRpcData", 2, k, v));
|
||||
}
|
||||
|
||||
void
|
||||
RpcDataType::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v, Variable* data,
|
||||
Variable** cl)
|
||||
{
|
||||
addTo->Add(new Assignment(v, new MethodCall(data, "getRpcData", 1, k)));
|
||||
}
|
||||
|
||||
|
||||
// ================================================================
|
||||
|
||||
ClassLoaderType::ClassLoaderType()
|
||||
|
||||
@@ -442,6 +442,17 @@ 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:
|
||||
|
||||
Reference in New Issue
Block a user