Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 924d35a8 authored by Josh Gao's avatar Josh Gao
Browse files

adb: extract the adb-specific unique_fd out into its own header.

Some POSIX-only files would like to use functions declared in
adb_utils.h without being forced to use the sysdeps stuff for open,
close, etc. Extract the adb-specific unique_fd into its own header so
those files can use adb_utils.h alongside the real unique_fd.

Change-Id: I10344ef26b7e72fce46bf7e3033f89aa54bd6118
Test: mm
parent e0b7502c
Loading
Loading
Loading
Loading

adb/adb_unique_fd.h

0 → 100644
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 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 <android-base/unique_fd.h>

// Helper to automatically close an FD when it goes out of scope.
struct AdbCloser {
    static void Close(int fd);
};

using unique_fd = android::base::unique_fd_impl<AdbCloser>;
+5 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#define TRACE_TAG ADB

#include "adb_utils.h"
#include "adb_unique_fd.h"

#include <libgen.h>
#include <stdlib.h>
@@ -309,3 +310,7 @@ std::string adb_get_android_dir_path() {
    }
    return android_dir;
}

void AdbCloser::Close(int fd) {
    adb_close(fd);
}
+0 −10
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@
#include <string>

#include <android-base/macros.h>
#include <android-base/unique_fd.h>

void close_stdin();

@@ -57,13 +56,4 @@ extern int adb_close(int fd);
bool forward_targets_are_valid(const std::string& source, const std::string& dest,
                               std::string* error);

// Helper to automatically close an FD when it goes out of scope.
struct AdbCloser {
    static void Close(int fd) {
        adb_close(fd);
    }
};

using unique_fd = android::base::unique_fd_impl<AdbCloser>;

#endif
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@
#include "adb_auth.h"
#include "adb_client.h"
#include "adb_io.h"
#include "adb_unique_fd.h"
#include "adb_utils.h"
#include "bugreport.h"
#include "commandline.h"
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@

#include "adb.h"
#include "adb_io.h"
#include "adb_unique_fd.h"
#include "adb_utils.h"

/* here's how these things work.
Loading