diff options
author | Joe Onorato <joeo@google.com> | 2011-08-30 17:24:17 -0700 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2012-02-10 10:51:20 -0800 |
commit | fdfe2ff8c60c367a4eb7cecb4cbe1d62b41a8c20 (patch) | |
tree | 33ff6ed8e57f31aebadd5e04c7f97dae01917ea9 /tools/aidl/Type.cpp | |
parent | a8f767a2395c0127b7f5adb9e207fdd994144e17 (diff) | |
download | frameworks_base-fdfe2ff8c60c367a4eb7cecb4cbe1d62b41a8c20.zip frameworks_base-fdfe2ff8c60c367a4eb7cecb4cbe1d62b41a8c20.tar.gz frameworks_base-fdfe2ff8c60c367a4eb7cecb4cbe1d62b41a8c20.tar.bz2 |
Checkpoint adding @home RPC support to aidl
Diffstat (limited to 'tools/aidl/Type.cpp')
-rwxr-xr-x | tools/aidl/Type.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/tools/aidl/Type.cpp b/tools/aidl/Type.cpp index 6b69864..54690e7 100755 --- a/tools/aidl/Type.cpp +++ b/tools/aidl/Type.cpp @@ -11,6 +11,7 @@ Type* LONG_TYPE; Type* FLOAT_TYPE; Type* DOUBLE_TYPE; Type* STRING_TYPE; +Type* OBJECT_TYPE; Type* CHAR_SEQUENCE_TYPE; Type* TEXT_UTILS_TYPE; Type* REMOTE_EXCEPTION_TYPE; @@ -21,9 +22,17 @@ Type* BINDER_NATIVE_TYPE; Type* BINDER_PROXY_TYPE; Type* PARCEL_TYPE; Type* PARCELABLE_INTERFACE_TYPE; +Type* CONTEXT_TYPE; Type* MAP_TYPE; Type* LIST_TYPE; Type* CLASSLOADER_TYPE; +Type* RPC_SERVICE_BASE_TYPE; +Type* RPC_DATA_TYPE; +Type* RPC_BROKER_TYPE; +Type* RPC_ENDPOINT_INFO_TYPE; +Type* RPC_RESULT_HANDLER_TYPE; +Type* RPC_ERROR_TYPE; +Type* RPC_ERROR_LISTENER_TYPE; Expression* NULL_VALUE; Expression* THIS_VALUE; @@ -66,6 +75,10 @@ register_base_types() STRING_TYPE = new StringType(); NAMES.Add(STRING_TYPE); + OBJECT_TYPE = new Type("java.lang", "Object", + Type::BUILT_IN, false, false); + NAMES.Add(OBJECT_TYPE); + CHAR_SEQUENCE_TYPE = new CharSequenceType(); NAMES.Add(CHAR_SEQUENCE_TYPE); @@ -103,6 +116,38 @@ register_base_types() PARCELABLE_INTERFACE_TYPE = new ParcelableInterfaceType(); NAMES.Add(PARCELABLE_INTERFACE_TYPE); + CONTEXT_TYPE = new Type("android.content", "Context", + Type::BUILT_IN, false, false); + NAMES.Add(CONTEXT_TYPE); + + RPC_SERVICE_BASE_TYPE = new Type("com.android.athome.service", "AndroidAtHomeService", + 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); + NAMES.Add(RPC_DATA_TYPE); + + RPC_BROKER_TYPE = new Type("com.android.athome.utils", "AndroidAtHomeBroker", + Type::BUILT_IN, false, false); + NAMES.Add(RPC_BROKER_TYPE); + + RPC_ENDPOINT_INFO_TYPE = new ParcelableType("com.android.athome.rpc", "EndpointInfo", + true, __FILE__, __LINE__); + NAMES.Add(RPC_ENDPOINT_INFO_TYPE); + + RPC_RESULT_HANDLER_TYPE = new ParcelableType("com.android.athome.rpc", "RpcResultHandler", + true, __FILE__, __LINE__); + NAMES.Add(RPC_RESULT_HANDLER_TYPE); + + RPC_ERROR_TYPE = new ParcelableType("com.android.athome.rpc", "RpcError", + true, __FILE__, __LINE__); + NAMES.Add(RPC_ERROR_TYPE); + + RPC_ERROR_LISTENER_TYPE = new Type("com.android.athome.rpc", "RpcErrorHandler", + Type::BUILT_IN, false, false); + NAMES.Add(RPC_ERROR_LISTENER_TYPE); + CLASSLOADER_TYPE = new ClassLoaderType(); NAMES.Add(CLASSLOADER_TYPE); @@ -244,6 +289,36 @@ Type::ReadArrayFromParcel(StatementBlock* addTo, Variable* v, Variable* parcel, } void +Type::WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v, + Variable* data, int flags) +{ + fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%sn", + __FILE__, __LINE__, m_qualifiedName.c_str()); + addTo->Add(new LiteralExpression("/* WriteToRpcData error " + + m_qualifiedName + " */")); +} + +void +Type::ReadFromRpcData(StatementBlock* addTo, Expression* k, Variable* v, Variable* data, + Variable** cl) +{ + fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%sn", + __FILE__, __LINE__, m_qualifiedName.c_str()); + addTo->Add(new LiteralExpression("/* ReadFromRpcData error " + + m_qualifiedName + " */")); +} + +void +Type::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v, Variable* data, + Variable** cl) +{ + fprintf(stderr, "aidl:internal error %s:%d qualifiedName=%sn", + __FILE__, __LINE__, m_qualifiedName.c_str()); + addTo->Add(new LiteralExpression("/* ReadFromRpcData error " + + m_qualifiedName + " */")); +} + +void Type::SetQualifiedName(const string& qualified) { m_qualifiedName = qualified; @@ -458,6 +533,20 @@ StringType::ReadArrayFromParcel(StatementBlock* addTo, Variable* v, Variable* pa addTo->Add(new MethodCall(parcel, "readStringArray", 1, v)); } +void +StringType::WriteToRpcData(StatementBlock* addTo, Expression* k, Variable* v, + Variable* data, int flags) +{ + addTo->Add(new MethodCall(data, "putString", 2, k, v)); +} + +void +StringType::CreateFromRpcData(StatementBlock* addTo, Expression* k, Variable* v, + Variable* data, Variable**) +{ + addTo->Add(new Assignment(v, new MethodCall(data, "getString", 1, k))); +} + // ================================================================ CharSequenceType::CharSequenceType() |