diff options
-rw-r--r-- | client/bugreport.cpp | 3 | ||||
-rw-r--r-- | client/commandline.cpp | 2 | ||||
-rw-r--r-- | client/file_sync_client.cpp | 4 | ||||
-rw-r--r-- | client/file_sync_client.h | 27 | ||||
-rw-r--r-- | daemon/file_sync_service.cpp | 4 | ||||
-rw-r--r-- | daemon/file_sync_service.h | 21 | ||||
-rw-r--r-- | file_sync_protocol.h (renamed from file_sync_service.h) | 50 | ||||
-rw-r--r-- | services.cpp | 2 |
8 files changed, 75 insertions, 38 deletions
diff --git a/client/bugreport.cpp b/client/bugreport.cpp index abef86a6..346bb4b2 100644 --- a/client/bugreport.cpp +++ b/client/bugreport.cpp @@ -25,8 +25,9 @@ #include <android-base/strings.h> #include "sysdeps.h" + #include "adb_utils.h" -#include "file_sync_service.h" +#include "client/file_sync_client.h" static constexpr char BUGZ_BEGIN_PREFIX[] = "BEGIN:"; static constexpr char BUGZ_PROGRESS_PREFIX[] = "PROGRESS:"; diff --git a/client/commandline.cpp b/client/commandline.cpp index 7791895f..13e52f6d 100644 --- a/client/commandline.cpp +++ b/client/commandline.cpp @@ -56,8 +56,8 @@ #include "adb_unique_fd.h" #include "adb_utils.h" #include "bugreport.h" +#include "client/file_sync_client.h" #include "commandline.h" -#include "file_sync_service.h" #include "services.h" #include "shell_service.h" #include "sysdeps/chrono.h" diff --git a/client/file_sync_client.cpp b/client/file_sync_client.cpp index a438dbb3..cb9bcfa4 100644 --- a/client/file_sync_client.cpp +++ b/client/file_sync_client.cpp @@ -14,6 +14,8 @@ * limitations under the License. */ +#include "client/file_sync_client.h" + #include <dirent.h> #include <inttypes.h> #include <limits.h> @@ -39,7 +41,7 @@ #include "adb_client.h" #include "adb_io.h" #include "adb_utils.h" -#include "file_sync_service.h" +#include "file_sync_protocol.h" #include "line_printer.h" #include "sysdeps/errno.h" #include "sysdeps/stat.h" diff --git a/client/file_sync_client.h b/client/file_sync_client.h new file mode 100644 index 00000000..df7f14ce --- /dev/null +++ b/client/file_sync_client.h @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include <string> +#include <vector> + +bool do_sync_ls(const char* path); +bool do_sync_push(const std::vector<const char*>& srcs, const char* dst, bool sync); +bool do_sync_pull(const std::vector<const char*>& srcs, const char* dst, bool copy_attrs, + const char* name = nullptr); + +bool do_sync_sync(const std::string& lpath, const std::string& rpath, bool list_only); diff --git a/daemon/file_sync_service.cpp b/daemon/file_sync_service.cpp index 0b713631..7ae806a0 100644 --- a/daemon/file_sync_service.cpp +++ b/daemon/file_sync_service.cpp @@ -16,8 +16,9 @@ #define TRACE_TAG SYNC +#include "daemon/file_sync_service.h" + #include "sysdeps.h" -#include "file_sync_service.h" #include <dirent.h> #include <errno.h> @@ -42,6 +43,7 @@ #include "adb_io.h" #include "adb_trace.h" #include "adb_utils.h" +#include "file_sync_protocol.h" #include "security_log_tags.h" #include "sysdeps/errno.h" diff --git a/daemon/file_sync_service.h b/daemon/file_sync_service.h new file mode 100644 index 00000000..01081d29 --- /dev/null +++ b/daemon/file_sync_service.h @@ -0,0 +1,21 @@ +#pragma once + +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <android-base/unique_fd.h> + +void file_sync_service(android::base::unique_fd fd); diff --git a/file_sync_service.h b/file_sync_protocol.h index 608b3ada..108639a5 100644 --- a/file_sync_service.h +++ b/file_sync_protocol.h @@ -14,34 +14,28 @@ * limitations under the License. */ -#ifndef _FILE_SYNC_SERVICE_H_ -#define _FILE_SYNC_SERVICE_H_ +#pragma once -#include <string> -#include <vector> +#define MKID(a, b, c, d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) -#include <android-base/unique_fd.h> - -#define MKID(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24)) - -#define ID_LSTAT_V1 MKID('S','T','A','T') -#define ID_STAT_V2 MKID('S','T','A','2') -#define ID_LSTAT_V2 MKID('L','S','T','2') -#define ID_LIST MKID('L','I','S','T') -#define ID_SEND MKID('S','E','N','D') -#define ID_RECV MKID('R','E','C','V') -#define ID_DENT MKID('D','E','N','T') -#define ID_DONE MKID('D','O','N','E') -#define ID_DATA MKID('D','A','T','A') -#define ID_OKAY MKID('O','K','A','Y') -#define ID_FAIL MKID('F','A','I','L') -#define ID_QUIT MKID('Q','U','I','T') +#define ID_LSTAT_V1 MKID('S', 'T', 'A', 'T') +#define ID_STAT_V2 MKID('S', 'T', 'A', '2') +#define ID_LSTAT_V2 MKID('L', 'S', 'T', '2') +#define ID_LIST MKID('L', 'I', 'S', 'T') +#define ID_SEND MKID('S', 'E', 'N', 'D') +#define ID_RECV MKID('R', 'E', 'C', 'V') +#define ID_DENT MKID('D', 'E', 'N', 'T') +#define ID_DONE MKID('D', 'O', 'N', 'E') +#define ID_DATA MKID('D', 'A', 'T', 'A') +#define ID_OKAY MKID('O', 'K', 'A', 'Y') +#define ID_FAIL MKID('F', 'A', 'I', 'L') +#define ID_QUIT MKID('Q', 'U', 'I', 'T') struct SyncRequest { - uint32_t id; // ID_STAT, et cetera. + uint32_t id; // ID_STAT, et cetera. uint32_t path_length; // <= 1024 // Followed by 'path_length' bytes of path (not NUL-terminated). -} __attribute__((packed)) ; +} __attribute__((packed)); union syncmsg { struct __attribute__((packed)) { @@ -81,14 +75,4 @@ union syncmsg { } status; }; -void file_sync_service(android::base::unique_fd fd); -bool do_sync_ls(const char* path); -bool do_sync_push(const std::vector<const char*>& srcs, const char* dst, bool sync); -bool do_sync_pull(const std::vector<const char*>& srcs, const char* dst, - bool copy_attrs, const char* name=nullptr); - -bool do_sync_sync(const std::string& lpath, const std::string& rpath, bool list_only); - -#define SYNC_DATA_MAX (64*1024) - -#endif +#define SYNC_DATA_MAX (64 * 1024) diff --git a/services.cpp b/services.cpp index 3d418cb9..54c679ba 100644 --- a/services.cpp +++ b/services.cpp @@ -51,10 +51,10 @@ #include "adb_io.h" #include "adb_utils.h" #if !ADB_HOST +#include "daemon/file_sync_service.h" #include "daemon/framebuffer_service.h" #include "daemon/set_verity_enable_state_service.h" #endif -#include "file_sync_service.h" #include "remount_service.h" #include "services.h" #include "shell_service.h" |