From dff6e6e3781de219472589e9629b75de42b624d8 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 15 Jun 2010 10:28:47 -0700 Subject: [PATCH] mtptest: Add option to specify storage path at the command line. Change-Id: Iac8a34ffb8177018a9164b3f2f97b2e84c3d8f1c Signed-off-by: Mike Lockwood --- media/mtp/MtpStorage.cpp | 1 + media/mtp/mtptest.cpp | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/media/mtp/MtpStorage.cpp b/media/mtp/MtpStorage.cpp index 5e08816fc64b3..ed2376eef4a43 100644 --- a/media/mtp/MtpStorage.cpp +++ b/media/mtp/MtpStorage.cpp @@ -36,6 +36,7 @@ MtpStorage::MtpStorage(MtpStorageID id, const char* filePath, MtpDatabase* db) mDatabase(db), mMaxCapacity(0) { + printf("MtpStorage id: %d path: %s\n", id, filePath); } MtpStorage::~MtpStorage() { diff --git a/media/mtp/mtptest.cpp b/media/mtp/mtptest.cpp index 0d9d45a6b5730..767cf2e695af8 100644 --- a/media/mtp/mtptest.cpp +++ b/media/mtp/mtptest.cpp @@ -29,25 +29,30 @@ using namespace android; -static void enable_usb_function(const char* name, bool enable) { +static bool enable_usb_function(const char* name, bool enable) { char path[PATH_MAX]; snprintf(path, sizeof(path), "/sys/class/usb_composite/%s/enable", name); int fd = open(path, O_RDWR); if (fd < 0) { fprintf(stderr, "could not open %s in enable_usb_function\n", path); - exit(1); + return false; } write(fd, enable ? "1" : "0", 2); close(fd); + return true; } int main(int argc, char* argv[]) { bool usePTP = false; + const char* storagePath = "/sdcard"; for (int i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-p")) + const char* arg = argv[i]; + if (!strcmp(arg, "-p")) usePTP = true; + else if (arg[0] == '/') + storagePath = arg; } int fd = open("/dev/mtp_usb", O_RDWR); @@ -71,7 +76,7 @@ int main(int argc, char* argv[]) { enable_usb_function("mtp", true); MtpServer server(fd, "/data/data/mtp/mtp.db"); - server.addStorage("/sdcard"); + server.addStorage(storagePath); server.scanStorage(); server.run();