Refactor ADB API dll to support WinUsb
diff --git a/host/windows/usb/api/SOURCES b/host/windows/usb/api/SOURCES
new file mode 100755
index 0000000..fcca802
--- /dev/null
+++ b/host/windows/usb/api/SOURCES
@@ -0,0 +1,96 @@
+#

+#  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.

+#

+

+TARGETNAME = AdbWinApi

+TARGETPATH = obj

+TARGETTYPE = DYNLINK

+

+UMTYPE = windows

+DLLDEF = AdbWinApi.def

+

+# Use statically linked atl libraries:

+# - atls.lib for free build

+# - atlsd.lib for checked build

+USE_STATIC_ATL  = 1

+# Use ATL v. 7.1

+ATL_VER         = 71

+# Use STL v. 6.0

+USE_STL         = 1

+STL_VER         = 60

+# Use multithreaded libraries

+USE_LIBCMT      = 1

+

+# Include directories

+INCLUDES = $(DDK_INC_PATH);           \

+           $(SDK_INC_PATH);           \

+           $(CRT_INC_PATH);           \

+           $(SDK_INC_PATH)\crt;       \

+           $(CRT_INC_PATH)\atl71;     \

+           $(SDK_INC_PATH)\crt\stl60

+

+# Common target libraries

+TARGETLIBS = $(SDK_LIB_PATH)\ole32.lib    \

+             $(SDK_LIB_PATH)\Advapi32.lib \

+             $(SDK_LIB_PATH)\Kernel32.lib \

+             $(SDK_LIB_PATH)\User32.lib   \

+             $(SDK_LIB_PATH)\oleaut32.lib \

+             $(SDK_LIB_PATH)\wbemuuid.lib \

+             $(SDK_LIB_PATH)\uuid.lib     \

+             $(SDK_LIB_PATH)\setupapi.lib \

+             $(SDK_LIB_PATH)\usbd.lib     \

+             $(SDK_LIB_PATH)\winusb.lib

+           

+!IF "$(DDKBUILDENV)" == "fre"
+# Libraries for release (free) builds
+TARGETLIBS = $(TARGETLIBS) $(ATL_LIB_PATH)\atls.lib

+!ELSE

+# Libraries for debug (checked) builds
+TARGETLIBS = $(TARGETLIBS) $(ATL_LIB_PATH)\atlsd.lib

+!ENDIF

+           

+# Common C defines           

+C_DEFINES= $(C_DEFINES) -DADBWIN_EXPORTS -D_UNICODE \

+           -DUNICODE -DWIN32 -D_WINDOWS -D_USRDLL -D_WINDLL

+

+!IF "$(DDKBUILDENV)" == "fre"
+# C defines for release (free) builds
+C_DEFINES = $(C_DEFINES) -DNDEBUG

+!ELSE

+# C defines for debug (checked) builds
+C_DEFINES = $(C_DEFINES) -D_DEBUG

+!ENDIF

+

+# Turn on all warnings, and treat warnings as errors

+MSC_WARNING_LEVEL = /W4 /Wp64 /WX
+
+# Common C defines           

+USER_C_FLAGS = $(USER_C_FLAGS) /FD /EHsc /wd4100 /wd4200 /wd4702 /nologo
+
+# Set precompiled header information
+PRECOMPILED_CXX = 1

+PRECOMPILED_INCLUDE = stdafx.h

+PRECOMPILED_SOURCEFILE = stdafx.cpp

+

+# Define source files for AdbWinApi.dll

+SOURCES = adb_api.cpp             \

+          adb_endpoint_object.cpp \

+          adb_helper_routines.cpp \

+          adb_interface.cpp       \

+          adb_interface_enum.cpp  \

+          adb_io_completion.cpp   \

+          adb_object_handle.cpp   \

+          AdbWinApi.cpp           \

+		      AdbWinApi.rc