Loading cmds/cmd/cmd.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ int main(int argc, char* const argv[]) } // TODO: block until a result is returned to MyResultReceiver. service->shellCommand(STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, args, new MyResultReceiver()); IBinder::shellCommand(service, STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, args, new MyResultReceiver()); return 0; } include/binder/BpBinder.h +0 −2 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ public: virtual bool isBinderAlive() const; virtual status_t pingBinder(); virtual status_t dump(int fd, const Vector<String16>& args); virtual status_t shellCommand(int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver); virtual status_t transact( uint32_t code, const Parcel& data, Loading include/binder/IBinder.h +2 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,8 @@ public: virtual bool isBinderAlive() const = 0; virtual status_t pingBinder() = 0; virtual status_t dump(int fd, const Vector<String16>& args) = 0; virtual status_t shellCommand(int in, int out, int err, Vector<String16>& args, static status_t shellCommand(const sp<IBinder>& target, int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver); virtual status_t transact( uint32_t code, Loading libs/binder/Binder.cpp +18 −9 Original line number Diff line number Diff line Loading @@ -61,16 +61,21 @@ bool IBinder::checkSubclass(const void* /*subclassID*/) const } status_t IBinder::shellCommand(int /*in*/, int out, int /*err*/, Vector<String16>& /*args*/, const sp<IResultReceiver>& resultReceiver) status_t IBinder::shellCommand(const sp<IBinder>& target, int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver) { if (out >= 0) { dprintf(out, "Shell commands not supported.\n"); Parcel send; Parcel reply; send.writeFileDescriptor(in); send.writeFileDescriptor(out); send.writeFileDescriptor(err); const size_t numArgs = args.size(); send.writeInt32(numArgs); for (size_t i = 0; i < numArgs; i++) { send.writeString16(args[i]); } if (resultReceiver != NULL) { resultReceiver->send(INVALID_OPERATION); } return NO_ERROR; send.writeStrongBinder(resultReceiver != NULL ? IInterface::asBinder(resultReceiver) : NULL); return target->transact(SHELL_COMMAND_TRANSACTION, send, &reply); } // --------------------------------------------------------------------------- Loading Loading @@ -230,7 +235,11 @@ status_t BBinder::onTransact( sp<IResultReceiver> resultReceiver = IResultReceiver::asInterface( data.readStrongBinder()); return shellCommand(in, out, err, args, resultReceiver); // XXX can't add virtuals until binaries are updated. //return shellCommand(in, out, err, args, resultReceiver); if (resultReceiver != NULL) { resultReceiver->send(INVALID_OPERATION); } } case SYSPROPS_TRANSACTION: { Loading libs/binder/BpBinder.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -157,23 +157,6 @@ status_t BpBinder::dump(int fd, const Vector<String16>& args) return err; } status_t BpBinder::shellCommand(int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver) { Parcel send; Parcel reply; send.writeFileDescriptor(in); send.writeFileDescriptor(out); send.writeFileDescriptor(err); const size_t numArgs = args.size(); send.writeInt32(numArgs); for (size_t i = 0; i < numArgs; i++) { send.writeString16(args[i]); } send.writeStrongBinder(resultReceiver != NULL ? IInterface::asBinder(resultReceiver) : NULL); return transact(SHELL_COMMAND_TRANSACTION, send, &reply); } status_t BpBinder::transact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { Loading Loading
cmds/cmd/cmd.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ int main(int argc, char* const argv[]) } // TODO: block until a result is returned to MyResultReceiver. service->shellCommand(STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, args, new MyResultReceiver()); IBinder::shellCommand(service, STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, args, new MyResultReceiver()); return 0; }
include/binder/BpBinder.h +0 −2 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ public: virtual bool isBinderAlive() const; virtual status_t pingBinder(); virtual status_t dump(int fd, const Vector<String16>& args); virtual status_t shellCommand(int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver); virtual status_t transact( uint32_t code, const Parcel& data, Loading
include/binder/IBinder.h +2 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,8 @@ public: virtual bool isBinderAlive() const = 0; virtual status_t pingBinder() = 0; virtual status_t dump(int fd, const Vector<String16>& args) = 0; virtual status_t shellCommand(int in, int out, int err, Vector<String16>& args, static status_t shellCommand(const sp<IBinder>& target, int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver); virtual status_t transact( uint32_t code, Loading
libs/binder/Binder.cpp +18 −9 Original line number Diff line number Diff line Loading @@ -61,16 +61,21 @@ bool IBinder::checkSubclass(const void* /*subclassID*/) const } status_t IBinder::shellCommand(int /*in*/, int out, int /*err*/, Vector<String16>& /*args*/, const sp<IResultReceiver>& resultReceiver) status_t IBinder::shellCommand(const sp<IBinder>& target, int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver) { if (out >= 0) { dprintf(out, "Shell commands not supported.\n"); Parcel send; Parcel reply; send.writeFileDescriptor(in); send.writeFileDescriptor(out); send.writeFileDescriptor(err); const size_t numArgs = args.size(); send.writeInt32(numArgs); for (size_t i = 0; i < numArgs; i++) { send.writeString16(args[i]); } if (resultReceiver != NULL) { resultReceiver->send(INVALID_OPERATION); } return NO_ERROR; send.writeStrongBinder(resultReceiver != NULL ? IInterface::asBinder(resultReceiver) : NULL); return target->transact(SHELL_COMMAND_TRANSACTION, send, &reply); } // --------------------------------------------------------------------------- Loading Loading @@ -230,7 +235,11 @@ status_t BBinder::onTransact( sp<IResultReceiver> resultReceiver = IResultReceiver::asInterface( data.readStrongBinder()); return shellCommand(in, out, err, args, resultReceiver); // XXX can't add virtuals until binaries are updated. //return shellCommand(in, out, err, args, resultReceiver); if (resultReceiver != NULL) { resultReceiver->send(INVALID_OPERATION); } } case SYSPROPS_TRANSACTION: { Loading
libs/binder/BpBinder.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -157,23 +157,6 @@ status_t BpBinder::dump(int fd, const Vector<String16>& args) return err; } status_t BpBinder::shellCommand(int in, int out, int err, Vector<String16>& args, const sp<IResultReceiver>& resultReceiver) { Parcel send; Parcel reply; send.writeFileDescriptor(in); send.writeFileDescriptor(out); send.writeFileDescriptor(err); const size_t numArgs = args.size(); send.writeInt32(numArgs); for (size_t i = 0; i < numArgs; i++) { send.writeString16(args[i]); } send.writeStrongBinder(resultReceiver != NULL ? IInterface::asBinder(resultReceiver) : NULL); return transact(SHELL_COMMAND_TRANSACTION, send, &reply); } status_t BpBinder::transact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { Loading