summaryrefslogtreecommitdiffstats
path: root/libs/binder/Parcel.cpp
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2010-06-21 15:31:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-06-21 15:31:01 -0700
commitef8f96a717554a85aa63a60f8c61be2afbd12a5c (patch)
tree0a6550aabca59a3e91a5a3d88bdd5351ce14d043 /libs/binder/Parcel.cpp
parentd91ac98a8ead216b12af6df61d90229b74c7f0f6 (diff)
parent27b3a7a75960d026655f3acd1de8a672e80a5776 (diff)
downloadframeworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.zip
frameworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.tar.gz
frameworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.tar.bz2
Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread
Diffstat (limited to 'libs/binder/Parcel.cpp')
-rw-r--r--libs/binder/Parcel.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 00d2210..c2574bd 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -19,6 +19,7 @@
#include <binder/Parcel.h>
+#include <binder/IPCThreadState.h>
#include <binder/Binder.h>
#include <binder/BpBinder.h>
#include <utils/Debug.h>
@@ -436,19 +437,22 @@ bool Parcel::hasFileDescriptors() const
return mHasFds;
}
+// Write RPC headers. (previously just the interface token)
status_t Parcel::writeInterfaceToken(const String16& interface)
{
+ writeInt32(IPCThreadState::self()->getStrictModePolicy());
// currently the interface identification token is just its name as a string
return writeString16(interface);
}
bool Parcel::checkInterface(IBinder* binder) const
{
- return enforceInterface(binder->getInterfaceDescriptor());
+ return enforceInterface(binder->getInterfaceDescriptor());
}
bool Parcel::enforceInterface(const String16& interface) const
{
+ int32_t strict_policy = readInt32();
const String16 str(readString16());
if (str == interface) {
return true;
@@ -457,7 +461,7 @@ bool Parcel::enforceInterface(const String16& interface) const
String8(interface).string(), String8(str).string());
return false;
}
-}
+}
const size_t* Parcel::objects() const
{