summaryrefslogtreecommitdiff
path: root/host/windows/usb/api/adb_api_instance.cpp
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:29:09 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:29:09 -0800
commit52d4c30ca52320ec92d1d1ddc8db3f07f69c4f98 (patch)
tree2eb01432fa3da41550dd622d29fb672509122b51 /host/windows/usb/api/adb_api_instance.cpp
parentd4aee0c0caa00aa02d4c50ed28151591ac0456b5 (diff)
auto import from //depot/cupcake/@135843
Diffstat (limited to 'host/windows/usb/api/adb_api_instance.cpp')
-rw-r--r--host/windows/usb/api/adb_api_instance.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/host/windows/usb/api/adb_api_instance.cpp b/host/windows/usb/api/adb_api_instance.cpp
new file mode 100644
index 000000000..4f66b981b
--- /dev/null
+++ b/host/windows/usb/api/adb_api_instance.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2006 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.
+ */
+
+/** \file
+ This file consists of implementation of class AdbApiInstance that is a main
+ API object representing a device interface that is in the interest of
+ the API client. All device (interface) related operations go through this
+ class first.
+*/
+
+#include "stdafx.h"
+#include "adb_api_instance.h"
+#include "adb_helper_routines.h"
+
+/// Map that holds all instances of this object
+AdbApiInstanceMap adb_app_instance_map;
+ULONG_PTR adb_app_instance_id = 0;
+CComAutoCriticalSection adb_app_instance_map_locker;
+
+AdbApiInstance::AdbApiInstance()
+ : ref_count_(1) {
+ // Generate inteface handle
+ adb_app_instance_map_locker.Lock();
+ adb_app_instance_id++;
+ adb_app_instance_map_locker.Unlock();
+ instance_handle_ =
+ reinterpret_cast<ADBAPIINSTANCEHANDLE>(adb_app_instance_id);
+}
+
+AdbApiInstance::~AdbApiInstance() {
+}
+
+void AdbApiInstance::LastReferenceReleased() {
+}