mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-11-29 10:27:39 +08:00
first commit acl to github
first commit acl to github
This commit is contained in:
parent
c11442e824
commit
cc05b877a2
1754
Doxyfile_acl_protocol
Normal file
1754
Doxyfile_acl_protocol
Normal file
File diff suppressed because it is too large
Load Diff
184
Makefile
Normal file
184
Makefile
Normal file
@ -0,0 +1,184 @@
|
||||
SHELL = /bin/sh
|
||||
OSNAME = $(shell uname -sm)
|
||||
OSTYPE = $(shell uname -p)
|
||||
|
||||
LIB_PATH = ./dist/lib
|
||||
ACL_LIB = $(LIB_PATH)
|
||||
PROTO_LIB = $(LIB_PATH)
|
||||
DICT_LIB = $(LIB_PATH)
|
||||
TLS_LIB = $(LIB_PATH)
|
||||
|
||||
INC_PATH = ./dist/include
|
||||
ACL_INC = $(INC_PATH)/acl
|
||||
PROTO_INC = $(INC_PATH)/protocol
|
||||
DICT_INC = $(INC_PATH)/dict
|
||||
TLS_INC = $(INC_PATH)/tls
|
||||
|
||||
RPATH =
|
||||
DATE_NOW = 20`date +%y`.`date +%m`.`date +%d`
|
||||
MAKE_ARGS =
|
||||
|
||||
ifeq ($(findstring FreeBSD, $(OSNAME)), FreeBSD)
|
||||
RPATH = freebsd
|
||||
endif
|
||||
|
||||
ifeq ($(findstring Linux, $(OSNAME)), Linux)
|
||||
ifeq ($(findstring i686, $(OSTYPE)), i686)
|
||||
RPATH = linux32
|
||||
endif
|
||||
ifeq ($(findstring x86_64, $(OSTYPE)), x86_64)
|
||||
RPATH = linux64
|
||||
endif
|
||||
n = `cat /proc/cpuinfo | grep processor | wc -l`
|
||||
MAKE_ARGS = -j $(n)
|
||||
endif
|
||||
ifeq ($(findstring SunOS, $(OSNAME)), SunOS)
|
||||
ifeq ($(findstring i386, $(OSTYPE)), i386)
|
||||
RPATH = sunos_x86
|
||||
endif
|
||||
endif
|
||||
##############################################################################
|
||||
|
||||
.PHONY = check help all clean install uninstall uninstall_all build_bin build_src
|
||||
VERSION = 2.1.2.8
|
||||
|
||||
help:
|
||||
@(echo "usage: make help|all|clean|install|uninstall|uninstall_all|build_bin|build_src")
|
||||
all:
|
||||
@(cd lib_acl; make $(MAKE_ARGS))
|
||||
@(cd lib_protocol; make $(MAKE_ARGS))
|
||||
@(cd lib_acl_cpp; make $(MAKE_ARGS))
|
||||
@(cd lib_rpc; make $(MAKE_ARGS))
|
||||
@(cd unit_test; make $(MAKE_ARGS))
|
||||
@(cd samples; make)
|
||||
# @(cd lib_dict; make $(MAKE_ARGS))
|
||||
# @(cd lib_tls; make $(MAKE_ARGS))
|
||||
clean:
|
||||
@(cd lib_acl; make clean)
|
||||
@(cd lib_protocol; make clean)
|
||||
@(cd lib_acl_cpp; make clean)
|
||||
@(cd lib_rpc; make clean)
|
||||
@(cd unit_test; make clean)
|
||||
@(cd samples; make clean)
|
||||
# @(cd lib_dict; make clean)
|
||||
# @(cd lib_tls; make clean)
|
||||
|
||||
install:
|
||||
@(echo "")
|
||||
@(echo "begin copy file...")
|
||||
cp -f lib_acl/master/acl_master ./dist/master/libexec/$(RPATH)/
|
||||
cp -f lib_acl/lib/lib_acl.a $(ACL_LIB)/$(RPATH)/
|
||||
cp -Rf lib_acl/include/* $(ACL_INC)/
|
||||
cp -f lib_protocol/lib/lib_protocol.a $(PROTO_LIB)/$(RPATH)/
|
||||
cp -Rf lib_protocol/include/* $(PROTO_INC)/
|
||||
cp -f lib_acl_cpp/lib/lib_acl_cpp.a $(ACL_LIB)/$(RPATH)/
|
||||
cp -Rf lib_acl_cpp/include/acl_cpp/* $(INC_PATH)/acl_cpp/
|
||||
# cp -f lib_dict/lib/lib_dict.a $(DICT_LIB)/$(RPATH)/
|
||||
# cp -Rf lib_dict/include/* $(DICT_INC)/
|
||||
# cp -f lib_tls/lib/lib_tls.a $(TLS_LIB)/$(RPATH)/
|
||||
# cp -Rf lib_tls/include/* $(TLS_INC)/
|
||||
uninstall:
|
||||
@(echo "")
|
||||
@(echo "begin remove file...")
|
||||
rm -f ./dist/master/libexec/$(RPATH)/*
|
||||
rm -f $(ACL_LIB)/$(RPATH)/lib_acl.a
|
||||
rm -Rf $(ACL_INC)/*
|
||||
rm -f $(PROTO_LIB)/$(RPATH)/lib_protocol.a
|
||||
rm -Rf $(PROTO_INC)/*
|
||||
rm -f $(ACL_LIB)/$(RPATH)/lib_acl_cpp.a
|
||||
rm -Rf $(INC_PATH)/acl_cpp/*
|
||||
rm -f $(DICT_LIB)/$(RPATH)/lib_dict.a
|
||||
rm -Rf $(DICT_INC)/*
|
||||
rm -f $(TLS_LIB)/$(RPATH)/lib_tls.a
|
||||
rm -Rf $(TLS_INC)/*
|
||||
uninstall_all:
|
||||
@(echo "")
|
||||
@(echo "begin remove all dist files ...")
|
||||
rm -Rf $(ACL_INC)/*
|
||||
rm -Rf $(PROTO_INC)/*
|
||||
rm -Rf $(DICT_INC)/*
|
||||
rm -Rf $(TLS_INC)/*
|
||||
rm -f ./dist/master/libexec/linux32/*
|
||||
rm -f ./dist/master/libexec/linux64/*
|
||||
rm -f ./dist/master/libexec/sunos_x86/*
|
||||
rm -f ./dist/master/libexec/freebsd/*
|
||||
rm -f $(ACL_LIB)/linux32/*.a
|
||||
rm -f $(ACL_LIB)/linux64/*.a
|
||||
rm -f $(ACL_LIB)/sunos_x86/*.a
|
||||
rm -f $(ACL_LIB)/freebsd/*.a
|
||||
rm -f $(ACL_LIB)/win32/*.lib
|
||||
rm -f $(ACL_LIB)/win32/*.dll
|
||||
rm -f $(PROTO_LIB)/linux32/*.a
|
||||
rm -f $(PROTO_LIB)/linux64/*.a
|
||||
rm -f $(PROTO_LIB)/sunos_x86/*.a
|
||||
rm -f $(PROTO_LIB)/freebsd/*.a
|
||||
rm -f $(PROTO_LIB)/win32/*.lib
|
||||
rm -f $(PROTO_LIB)/win32/*.dll
|
||||
rm -f $(DICT_LIB)/linux32/*.a
|
||||
rm -f $(DICT_LIB)/linux64/*.a
|
||||
rm -f $(DICT_LIB)/sunos_x86/*.a
|
||||
rm -f $(DICT_LIB)/freebsd/*.a
|
||||
rm -f $(DICT_LIB)/win32/*.lib
|
||||
rm -f $(DICT_LIB)/win32/*.dll
|
||||
rm -f $(TLS_LIB)/linux32/*.a
|
||||
rm -f $(TLS_LIB)/linux64/*.a
|
||||
rm -f $(TLS_LIB)/sunos_x86/*.a
|
||||
rm -f $(TLS_LIB)/freebsd/*.a
|
||||
rm -f $(TLS_LIB)/win32/*.lib
|
||||
rm -f $(TLS_LIB)/win32/*.dll
|
||||
rm -f win32_build/vc/lib_acl/*.map
|
||||
rm -f win32_build/vc/lib_acl/*.ilk
|
||||
rm -f win32_build/vc/lib_protocol/*.map
|
||||
rm -f win32_build/vc/lib_protocol/*.ilk
|
||||
build_bin:
|
||||
@(echo "please waiting ...")
|
||||
@(echo "begin building bin release...")
|
||||
@(rm -rf acl.bin)
|
||||
@(echo "copy files ...")
|
||||
@(cp -R dist acl.bin)
|
||||
@(cp lib_acl/changes.txt acl.bin/include/acl/)
|
||||
@(cp lib_protocol/changes.txt acl.bin/include/protocol/)
|
||||
@(cp lib_dict/changes.txt acl.bin/include/dict/)
|
||||
@(cp lib_tls/changes.txt acl.bin/include/tls/)
|
||||
@(cp changes.txt acl.bin/)
|
||||
@(echo "make tar package ...")
|
||||
@(tar -cf acl.bin.tar acl.bin)
|
||||
@(echo "make gzip package ...")
|
||||
@(gzip -c acl.bin.tar > acl.bin.tgz)
|
||||
@(rm acl.bin.tar)
|
||||
@(rm -rf acl.bin)
|
||||
@(echo "move acl.bin.tgz to ../acl$(VERSION).bin.$(DATE_NOW).tgz")
|
||||
@(mv acl.bin.tgz ../acl$(VERSION).bin.$(DATE_NOW).tgz)
|
||||
# @(echo "move acl.bin.tgz to ../acl$(VERSION).bin.tgz")
|
||||
# @(mv acl.bin.tgz ../acl$(VERSION).bin.tgz)
|
||||
build_src: clean uninstall_all
|
||||
@(echo "begin building src release...")
|
||||
@(rm -rf acl)
|
||||
@(echo "copy files ...")
|
||||
@(mkdir acl)
|
||||
@(cp -R dist acl/)
|
||||
@(cp -R lib_acl acl/)
|
||||
@(cp -R lib_protocol acl/)
|
||||
@(cp -R lib_dict acl/)
|
||||
@(cp -R lib_tls acl/)
|
||||
@(cp -R samples acl/)
|
||||
@(cp -R unit_test acl/)
|
||||
@(cp -R win32_build acl/)
|
||||
@(cp -R lib acl/)
|
||||
@(cp -R doc acl/)
|
||||
@(cp Makefile acl/)
|
||||
@(cp changes.txt acl/)
|
||||
@(cp readme.txt acl/)
|
||||
@(cp Doxyfile acl/)
|
||||
@(echo "make tar package ...")
|
||||
@(tar -cf acl.src.tar acl)
|
||||
@(echo "make gzip package ...")
|
||||
@(gzip -c acl.src.tar > acl.src.tgz)
|
||||
@(rm acl.src.tar)
|
||||
@(rm -rf acl)
|
||||
@(echo "move acl.src.tgz to ../acl$(VERSION).src.$(DATE_NOW).tgz")
|
||||
@(mv acl.src.tgz ../acl$(VERSION).src.$(DATE_NOW).tgz)
|
||||
# @(echo "move acl.src.tgz to ../acl$(VERSION).src.tgz")
|
||||
# @(mv acl.src.tgz ../acl$(VERSION).src.tgz)
|
||||
check:
|
||||
echo "TYPE=$(OSTYPE), OSNAME=$(OSNAME), RPATH=$(RPATH)"
|
700
acl_cpp_vc2003.sln
Normal file
700
acl_cpp_vc2003.sln
Normal file
@ -0,0 +1,700 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cpp\samples\socket_stream\socket_stream.vcproj", "{41FA5224-3315-4CDA-9C44-19085049F179}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime.vcproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "lib_acl_cpp\samples\xml\xml.vcproj", "{2DABFAD1-114B-4F96-9185-DC0C56A3662D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string.vcproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samples\fstream\fstream.vcproj", "{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64.vcproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp.vcproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flock", "lib_acl_cpp\samples\flock\flock.vcproj", "{5F4063AD-B591-4C64-ADEA-609968A83550}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rfc2047", "lib_acl_cpp\samples\rfc2047\rfc2047.vcproj", "{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_server", "lib_acl_cpp\samples\aio_server\aio_server.vcproj", "{225D0BFA-64D7-4F8F-951E-36A494CF6178}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_client", "lib_acl_cpp\samples\aio_client\aio_client.vcproj", "{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winaio", "lib_acl_cpp\samples\winaio\winaio.vcproj", "{ADE6F714-BD52-432D-AB86-62FA59AB6746}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_ipc", "lib_acl_cpp\samples\aio_ipc\aio_ipc.vcproj", "{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_dns", "lib_acl_cpp\samples\aio_dns\aio_dns.vcproj", "{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_client", "lib_acl_cpp\samples\socket_client\socket_client.vcproj", "{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_client", "lib_acl_cpp\samples\http_client\http_client.vcproj", "{82B65DCB-D910-4B92-BFDF-15896A575861}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpClient", "lib_acl_cpp\samples\HttpClient\HttpClient.vcproj", "{C0A7DB86-EF13-4A3E-9F34-8950521C9675}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_client", "lib_acl_cpp\samples\ssl_client\ssl_client.vcproj", "{B14C93A6-DABE-48F9-A78C-C94049B69984}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssl_aio_client", "lib_acl_cpp\samples\ssl_aio_client\ssl_aio_client.vcproj", "{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "final_class", "lib_acl_cpp\samples\final_class\final_class.vcproj", "{840C2263-DF87-4FD2-8964-EF81B74695FE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "lib_acl_cpp\samples\sqlite\sqlite.vcproj", "{20013703-57CC-4821-BF24-129A12490435}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "db_service", "lib_acl_cpp\samples\db_service\db_service.vcproj", "{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win_dbservice", "lib_acl_cpp\samples\win_dbservice\win_dbservice.vcproj", "{DC7E75E5-FE42-4529-9D9A-19D240B8727B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "lib_acl_cpp\samples\zlib\zlib.vcproj", "{F6292B2C-2C57-40E1-805F-86D9FB1C3251}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql", "lib_acl_cpp\samples\mysql\mysql.vcproj", "{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_threads", "lib_acl_cpp\samples\master_threads\master_threads.vcproj", "{FA0EEABF-CC21-4A99-89AA-D0379175E55A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_aio", "lib_acl_cpp\samples\master_aio\master_aio.vcproj", "{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_trigger", "lib_acl_cpp\samples\master_trigger\master_trigger.vcproj", "{80F0213B-A053-4420-BAF9-4657AD8473DA}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master_proc", "lib_acl_cpp\samples\master_proc\master_proc.vcproj", "{B7EE43F4-7541-48A7-A066-DA60A55E67ED}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_client2", "lib_acl_cpp\samples\http_client2\http_client2.vcproj", "{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json", "lib_acl_cpp\samples\json\json.vcproj", "{56199633-C345-4733-8292-A4F2D86AA847}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rfc822", "lib_acl_cpp\samples\rfc822\rfc822.vcproj", "{1B51538E-859A-46FE-B423-592D79DEEF63}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_servlet", "lib_acl_cpp\samples\http_servlet\http_servlet.vcproj", "{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_mime", "lib_acl_cpp\samples\http_mime\http_mime.vcproj", "{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgi", "lib_acl_cpp\samples\cgi\cgi.vcproj", "{864A7341-756C-4BF9-A16F-059FDD972D79}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgi_upload", "lib_acl_cpp\samples\cgi_upload\cgi_upload.vcproj", "{A28B19ED-291C-47C8-BDD5-10BB038C371E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rpc_download", "lib_acl_cpp\samples\rpc_download\rpc_download.vcproj", "{349F7822-A752-42F0-BB13-4A28497D68DF}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gui_rpc", "lib_acl_cpp\samples\gui_rpc\gui_rpc.vcproj", "{F37E8828-252D-4F3E-A5B6-E3770750042F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "acl_cpp_test", "lib_acl_cpp\samples\acl_cpp_test\acl_cpp_test.vcproj", "{C8CED6EB-DCC8-4CEE-921F-3190C879B116}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "md5", "lib_acl_cpp\samples\md5\md5.vcproj", "{B8029C89-9870-4EE4-ADD0-E7852E0D1810}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_server", "lib_acl_cpp\samples\http_server\http_server.vcproj", "{8B7A7746-C678-4205-8EA7-492A097F524B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2003.vcproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2003.vcproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl_cpp", "lib_acl_cpp\lib_acl_cpp_vc2003.vcproj", "{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "singleton", "lib_acl_cpp\samples\singleton\singleton.vcproj", "{128791D9-6787-471C-9A0C-0DCAE53F4911}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "session", "lib_acl_cpp\samples\session\session.vcproj", "{90D013A0-4813-4BAB-8155-D175631A695E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beanstalk", "lib_acl_cpp\samples\beanstalk\beanstalk.vcproj", "{1509DA30-29B0-4B73-921A-BBBD9E5608BE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "url_coder", "lib_acl_cpp\samples\url_coder\url_coder.vcproj", "{143ED97E-1EC6-4821-A5FA-A6728B69273E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fs_benchmark", "lib_acl_cpp\samples\fs_benchmark\fs_benchmark.vcproj", "{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcache_pool", "lib_acl_cpp\samples\memcache_pool\memcache_pool.vcproj", "{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
DebugDll = DebugDll
|
||||
Release = Release
|
||||
Releasedll = Releasedll
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug.ActiveCfg = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug.Build.0 = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release.ActiveCfg = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release.Build.0 = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug.ActiveCfg = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug.Build.0 = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release.ActiveCfg = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release.Build.0 = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug.ActiveCfg = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug.Build.0 = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release.ActiveCfg = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release.Build.0 = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.ActiveCfg = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug.Build.0 = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.ActiveCfg = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release.Build.0 = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug.ActiveCfg = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug.Build.0 = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release.ActiveCfg = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release.Build.0 = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug.ActiveCfg = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug.Build.0 = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release.ActiveCfg = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release.Build.0 = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug.ActiveCfg = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug.Build.0 = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release.ActiveCfg = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release.Build.0 = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug.ActiveCfg = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug.Build.0 = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release.ActiveCfg = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release.Build.0 = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug.ActiveCfg = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug.Build.0 = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release.ActiveCfg = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release.Build.0 = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug.ActiveCfg = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug.Build.0 = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release.ActiveCfg = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release.Build.0 = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug.ActiveCfg = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug.Build.0 = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release.ActiveCfg = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release.Build.0 = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug.ActiveCfg = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug.Build.0 = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release.ActiveCfg = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release.Build.0 = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug.ActiveCfg = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug.Build.0 = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release.ActiveCfg = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release.Build.0 = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug.ActiveCfg = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug.Build.0 = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release.ActiveCfg = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release.Build.0 = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Debug.ActiveCfg = Debug|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Debug.Build.0 = Debug|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Release.ActiveCfg = Release|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Release.Build.0 = Release|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{7DA0AC89-62E4-4D02-9BC5-C32E6846E168}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Debug.ActiveCfg = Debug|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Debug.Build.0 = Debug|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Release.ActiveCfg = Release|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Release.Build.0 = Release|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{82B65DCB-D910-4B92-BFDF-15896A575861}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug.ActiveCfg = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug.Build.0 = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release.ActiveCfg = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release.Build.0 = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Debug.ActiveCfg = Debug|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Debug.Build.0 = Debug|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Release.ActiveCfg = Release|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Release.Build.0 = Release|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{B14C93A6-DABE-48F9-A78C-C94049B69984}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Debug.ActiveCfg = Debug|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Debug.Build.0 = Debug|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Release.ActiveCfg = Release|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Release.Build.0 = Release|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{8CF882F1-3D3C-4233-BCA6-7F90E49B80BE}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug.ActiveCfg = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug.Build.0 = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release.ActiveCfg = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release.Build.0 = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Debug.ActiveCfg = Debug|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Debug.Build.0 = Debug|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Release.ActiveCfg = Release|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Release.Build.0 = Release|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{20013703-57CC-4821-BF24-129A12490435}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Debug.ActiveCfg = Debug|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Debug.Build.0 = Debug|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Release.ActiveCfg = Release|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Release.Build.0 = Release|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{82C00ED0-AEF5-4E5B-9581-1EA052CBEA01}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug.ActiveCfg = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug.Build.0 = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release.ActiveCfg = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release.Build.0 = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Debug.ActiveCfg = Debug|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Debug.Build.0 = Debug|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Release.ActiveCfg = Release|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Release.Build.0 = Release|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{F6292B2C-2C57-40E1-805F-86D9FB1C3251}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Debug.ActiveCfg = Debug|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Debug.Build.0 = Debug|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Release.ActiveCfg = Release|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Release.Build.0 = Release|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{A804ECF6-59F0-4CCF-8D71-6E44CBCA2796}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Debug.ActiveCfg = Debug|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Debug.Build.0 = Debug|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Release.ActiveCfg = Release|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Release.Build.0 = Release|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{FA0EEABF-CC21-4A99-89AA-D0379175E55A}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Debug.ActiveCfg = Debug|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Debug.Build.0 = Debug|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Release.ActiveCfg = Release|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Release.Build.0 = Release|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{4B7C83E5-C34F-4C42-9A37-E5F33FBA2EA3}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Debug.ActiveCfg = Debug|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Debug.Build.0 = Debug|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Release.ActiveCfg = Release|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Release.Build.0 = Release|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{80F0213B-A053-4420-BAF9-4657AD8473DA}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Debug.ActiveCfg = Debug|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Debug.Build.0 = Debug|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Release.ActiveCfg = Release|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Release.Build.0 = Release|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{B7EE43F4-7541-48A7-A066-DA60A55E67ED}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Debug.ActiveCfg = Debug|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Debug.Build.0 = Debug|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Release.ActiveCfg = Release|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Release.Build.0 = Release|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{BC32C5A1-CDE1-4872-9CE8-5F3A65D39680}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Debug.ActiveCfg = Debug|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Debug.Build.0 = Debug|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Release.ActiveCfg = Release|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Release.Build.0 = Release|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{56199633-C345-4733-8292-A4F2D86AA847}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Debug.ActiveCfg = Debug|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Debug.Build.0 = Debug|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Release.ActiveCfg = Release|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Release.Build.0 = Release|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{1B51538E-859A-46FE-B423-592D79DEEF63}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Debug.ActiveCfg = Debug|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Debug.Build.0 = Debug|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Release.ActiveCfg = Release|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Release.Build.0 = Release|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{5A189A92-9AF4-49FC-ABF4-8220A26E46D0}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Debug.ActiveCfg = Debug|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Debug.Build.0 = Debug|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Release.ActiveCfg = Release|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Release.Build.0 = Release|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{A1BA7D3E-5434-4F98-87F2-78673B3EEEF1}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Debug.ActiveCfg = Debug|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Debug.Build.0 = Debug|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Release.ActiveCfg = Release|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Release.Build.0 = Release|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{864A7341-756C-4BF9-A16F-059FDD972D79}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Debug.ActiveCfg = Debug|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Debug.Build.0 = Debug|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Release.ActiveCfg = Release|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Release.Build.0 = Release|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{A28B19ED-291C-47C8-BDD5-10BB038C371E}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Debug.ActiveCfg = Debug|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Debug.Build.0 = Debug|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Release.ActiveCfg = Release|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Release.Build.0 = Release|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{349F7822-A752-42F0-BB13-4A28497D68DF}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Debug.ActiveCfg = Debug|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Debug.Build.0 = Debug|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.DebugDll.ActiveCfg = Debug|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.DebugDll.Build.0 = Debug|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Release.ActiveCfg = Release|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Release.Build.0 = Release|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Releasedll.ActiveCfg = Release|Win32
|
||||
{F37E8828-252D-4F3E-A5B6-E3770750042F}.Releasedll.Build.0 = Release|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Debug.ActiveCfg = Debug|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Debug.Build.0 = Debug|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Release.ActiveCfg = Release|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Release.Build.0 = Release|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{C8CED6EB-DCC8-4CEE-921F-3190C879B116}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug.ActiveCfg = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug.Build.0 = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release.ActiveCfg = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release.Build.0 = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Debug.ActiveCfg = Debug|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Debug.Build.0 = Debug|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Release.ActiveCfg = Release|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Release.Build.0 = Release|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{8B7A7746-C678-4205-8EA7-492A097F524B}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug.ActiveCfg = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug.Build.0 = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release.ActiveCfg = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release.Build.0 = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll.ActiveCfg = Releasedll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll.Build.0 = Releasedll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug.ActiveCfg = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug.Build.0 = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release.ActiveCfg = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release.Build.0 = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Debug.ActiveCfg = Debug|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Debug.Build.0 = Debug|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Release.ActiveCfg = Release|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Release.Build.0 = Release|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{90D013A0-4813-4BAB-8155-D175631A695E}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Debug.ActiveCfg = Debug|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Debug.Build.0 = Debug|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Release.ActiveCfg = Release|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Release.Build.0 = Release|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{1509DA30-29B0-4B73-921A-BBBD9E5608BE}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Debug.ActiveCfg = Debug|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Debug.Build.0 = Debug|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Release.ActiveCfg = Release|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Release.Build.0 = Release|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{143ED97E-1EC6-4821-A5FA-A6728B69273E}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Debug.ActiveCfg = Debug|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Debug.Build.0 = Debug|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Release.ActiveCfg = Release|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Release.Build.0 = Release|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{02B1C8C9-0B52-491D-89D3-8B37CE3A4FE9}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Debug.ActiveCfg = Debug|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Debug.Build.0 = Debug|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Release.ActiveCfg = Release|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Release.Build.0 = Release|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll.ActiveCfg = ReleaseDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll.Build.0 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
416
acl_cpp_vc2010.sln
Normal file
416
acl_cpp_vc2010.sln
Normal file
@ -0,0 +1,416 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cpp\samples\socket_stream\socket_stream.vcxproj", "{41FA5224-3315-4CDA-9C44-19085049F179}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "lib_acl_cpp\samples\xml\xml.vcxproj", "{2DABFAD1-114B-4F96-9185-DC0C56A3662D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samples\fstream\fstream.vcxproj", "{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flock", "lib_acl_cpp\samples\flock\flock.vcxproj", "{5F4063AD-B591-4C64-ADEA-609968A83550}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rfc2047", "lib_acl_cpp\samples\rfc2047\rfc2047.vcxproj", "{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_server", "lib_acl_cpp\samples\aio_server\aio_server.vcxproj", "{225D0BFA-64D7-4F8F-951E-36A494CF6178}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_client", "lib_acl_cpp\samples\aio_client\aio_client.vcxproj", "{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winaio", "lib_acl_cpp\samples\winaio\winaio.vcxproj", "{ADE6F714-BD52-432D-AB86-62FA59AB6746}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_ipc", "lib_acl_cpp\samples\aio_ipc\aio_ipc.vcxproj", "{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_dns", "lib_acl_cpp\samples\aio_dns\aio_dns.vcxproj", "{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpClient", "lib_acl_cpp\samples\HttpClient\HttpClient.vcxproj", "{C0A7DB86-EF13-4A3E-9F34-8950521C9675}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_client", "lib_acl_cpp\samples\http_client\http_client.vcxproj", "{467619C7-C100-47B9-9A3B-7246A542EDC9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "final_class", "lib_acl_cpp\samples\final_class\final_class.vcxproj", "{840C2263-DF87-4FD2-8964-EF81B74695FE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win_dbservice", "lib_acl_cpp\samples\win_dbservice\win_dbservice.vcxproj", "{DC7E75E5-FE42-4529-9D9A-19D240B8727B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "md5", "lib_acl_cpp\samples\md5\md5.vcxproj", "{B8029C89-9870-4EE4-ADD0-E7852E0D1810}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2010.vcxproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2010.vcxproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl_cpp", "lib_acl_cpp\lib_acl_cpp_vc2010.vcxproj", "{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "singleton", "lib_acl_cpp\samples\singleton\singleton.vcxproj", "{128791D9-6787-471C-9A0C-0DCAE53F4911}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_rpc", "lib_rpc\lib_rpc.vcxproj", "{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protobuf_fstream", "lib_rpc\samples\fstream\protobuf_fstream.vcxproj", "{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_rpc_client", "lib_rpc\samples\http_rpc_client\http_rpc_client.vcxproj", "{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_rpc_server", "lib_rpc\samples\http_rpc_server\http_rpc_server.vcxproj", "{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
DebugDll|Win32 = DebugDll|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
Releasedll|Win32 = Releasedll|Win32
|
||||
Template|Win32 = Template|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release|Win32.Build.0 = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.Build.0 = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release|Win32.Build.0 = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Template|Win32.Build.0 = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release|Win32.Build.0 = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.Build.0 = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release|Win32.Build.0 = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Template|Win32.Build.0 = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release|Win32.Build.0 = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Template|Win32.Build.0 = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release|Win32.Build.0 = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Template|Win32.Build.0 = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release|Win32.Build.0 = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Template|Win32.Build.0 = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release|Win32.Build.0 = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Template|Win32.Build.0 = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release|Win32.Build.0 = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Template|Win32.Build.0 = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release|Win32.Build.0 = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Template|Win32.Build.0 = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release|Win32.Build.0 = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Template|Win32.Build.0 = Template|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release|Win32.Build.0 = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Template|Win32.Build.0 = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release|Win32.Build.0 = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Template|Win32.Build.0 = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release|Win32.Build.0 = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Template|Win32.Build.0 = Template|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.DebugDll|Win32.ActiveCfg = Debugdll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.DebugDll|Win32.Build.0 = Debugdll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Release|Win32.Build.0 = Release|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Template|Win32.Build.0 = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release|Win32.Build.0 = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Template|Win32.Build.0 = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release|Win32.Build.0 = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Template|Win32.Build.0 = Template|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release|Win32.Build.0 = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Template|Win32.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Template|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Template|Win32.Build.0 = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release|Win32.Build.0 = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Template|Win32.Build.0 = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release|Win32.Build.0 = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Template|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.DebugDll|Win32.ActiveCfg = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.DebugDll|Win32.Build.0 = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Release|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Releasedll|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Releasedll|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Template|Win32.Build.0 = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.DebugDll|Win32.ActiveCfg = Debug|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.DebugDll|Win32.Build.0 = Debug|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Release|Win32.Build.0 = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Releasedll|Win32.ActiveCfg = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Releasedll|Win32.Build.0 = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{E8A3F4F4-0217-4775-9AC4-BD10E12298D4}.Template|Win32.Build.0 = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.DebugDll|Win32.ActiveCfg = Debug|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.DebugDll|Win32.Build.0 = Debug|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Release|Win32.Build.0 = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Releasedll|Win32.ActiveCfg = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Releasedll|Win32.Build.0 = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{48ACE73F-73AD-43CC-99FB-35DFF71B8E9E}.Template|Win32.Build.0 = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.DebugDll|Win32.ActiveCfg = Debug|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.DebugDll|Win32.Build.0 = Debug|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Release|Win32.Build.0 = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Releasedll|Win32.ActiveCfg = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Releasedll|Win32.Build.0 = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{8D69EA4C-C980-4168-85B6-BAC9CB99E0DC}.Template|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
410
acl_cpp_vc2012.sln
Normal file
410
acl_cpp_vc2012.sln
Normal file
@ -0,0 +1,410 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2012.vcxproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2012.vcxproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl_cpp", "lib_acl_cpp\lib_acl_cpp_vc2012.vcxproj", "{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_rpc", "lib_rpc\lib_rpc.vcxproj", "{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_client", "lib_acl_cpp\samples\aio_client\aio_client_vc2012.vcxproj", "{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_dns", "lib_acl_cpp\samples\aio_dns\aio_dns_vc2012.vcxproj", "{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_ipc", "lib_acl_cpp\samples\aio_ipc\aio_ipc_vc2012.vcxproj", "{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aio_server", "lib_acl_cpp\samples\aio_server\aio_server_vc2012.vcxproj", "{225D0BFA-64D7-4F8F-951E-36A494CF6178}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "final_class", "lib_acl_cpp\samples\final_class\final_class_vc2012.vcxproj", "{840C2263-DF87-4FD2-8964-EF81B74695FE}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flock", "lib_acl_cpp\samples\flock\flock_vc2012.vcxproj", "{5F4063AD-B591-4C64-ADEA-609968A83550}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fstream", "lib_acl_cpp\samples\fstream\fstream_vc2012.vcxproj", "{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_client", "lib_acl_cpp\samples\http_client\http_client_vc2012.vcxproj", "{467619C7-C100-47B9-9A3B-7246A542EDC9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HttpClient", "lib_acl_cpp\samples\HttpClient\HttpClient_vc2012.vcxproj", "{C0A7DB86-EF13-4A3E-9F34-8950521C9675}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "md5", "lib_acl_cpp\samples\md5\md5_vc2012.vcxproj", "{B8029C89-9870-4EE4-ADD0-E7852E0D1810}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime", "lib_acl_cpp\samples\mime\mime_vc2012.vcxproj", "{52AA7352-CE48-4F60-B92D-1EB16A79FE54}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_base64", "lib_acl_cpp\samples\mime_base64\mime_base64_vc2012.vcxproj", "{19CB30E5-2672-4A8B-96FB-9C42970CCF69}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mime_qp", "lib_acl_cpp\samples\mime_qp\mime_qp_vc2012.vcxproj", "{5DC79C83-9DE8-46B3-A172-8A4E3371878B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rfc2047", "lib_acl_cpp\samples\rfc2047\rfc2047_vc2012.vcxproj", "{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "singleton", "lib_acl_cpp\samples\singleton\singleton_vc2012.vcxproj", "{128791D9-6787-471C-9A0C-0DCAE53F4911}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_stream", "lib_acl_cpp\samples\socket_stream\socket_stream_vc2012.vcxproj", "{41FA5224-3315-4CDA-9C44-19085049F179}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "lib_acl_cpp\samples\string\string_vc2012.vcxproj", "{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win_dbservice", "lib_acl_cpp\samples\win_dbservice\win_dbservice_vc2012.vcxproj", "{DC7E75E5-FE42-4529-9D9A-19D240B8727B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winaio", "lib_acl_cpp\samples\winaio\winaio_vc2012.vcxproj", "{ADE6F714-BD52-432D-AB86-62FA59AB6746}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "lib_acl_cpp\samples\xml\xml_vc2012.vcxproj", "{2DABFAD1-114B-4F96-9185-DC0C56A3662D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_request_pool", "lib_acl_cpp\samples\http_request_pool\http_request_pool_vc2012.vcxproj", "{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memcache_pool", "lib_acl_cpp\samples\memcache_pool\memcache_pool_vc2012.vcxproj", "{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC} = {6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B} = {B40213C2-507C-4C7F-A6E1-B850C9BDC27B}
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD} = {FE724EF7-3763-4E78-BDF5-BCBC075719FD}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
DebugDll|Win32 = DebugDll|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
Releasedll|Win32 = Releasedll|Win32
|
||||
Template|Win32 = Template|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Template|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Template|Win32.Build.0 = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Release|Win32.Build.0 = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{6EC1F44E-6A6A-48E9-B699-D7E89B63C8DC}.Template|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.DebugDll|Win32.ActiveCfg = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.DebugDll|Win32.Build.0 = Debug|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Release|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Releasedll|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Releasedll|Win32.Build.0 = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Template|Win32.ActiveCfg = Release|Win32
|
||||
{2B0C9A86-6C14-4CEF-BD7A-4A6752386A44}.Template|Win32.Build.0 = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Release|Win32.Build.0 = Release|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{9A04F86E-D4CB-45ED-9BB6-9939B9400B6F}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Release|Win32.Build.0 = Release|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{BE2DF8B2-2DCD-4F32-99B9-0B0CA24BFAD9}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Release|Win32.Build.0 = Release|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{956FA905-A77F-41FE-A4BE-C3BD3B5B3E83}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Release|Win32.Build.0 = Release|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{225D0BFA-64D7-4F8F-951E-36A494CF6178}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Release|Win32.Build.0 = Release|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{840C2263-DF87-4FD2-8964-EF81B74695FE}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Release|Win32.Build.0 = Release|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5F4063AD-B591-4C64-ADEA-609968A83550}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Release|Win32.Build.0 = Release|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{7680672C-4C9B-4BE8-8BAE-BB23B951AAA0}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.DebugDll|Win32.ActiveCfg = Debugdll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.DebugDll|Win32.Build.0 = Debugdll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Release|Win32.Build.0 = Release|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Template|Win32.ActiveCfg = Debugdll|Win32
|
||||
{467619C7-C100-47B9-9A3B-7246A542EDC9}.Template|Win32.Build.0 = Debugdll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Release|Win32.Build.0 = Release|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{C0A7DB86-EF13-4A3E-9F34-8950521C9675}.Template|Win32.Build.0 = Template|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Release|Win32.Build.0 = Release|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B8029C89-9870-4EE4-ADD0-E7852E0D1810}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Release|Win32.Build.0 = Release|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{52AA7352-CE48-4F60-B92D-1EB16A79FE54}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Release|Win32.Build.0 = Release|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{19CB30E5-2672-4A8B-96FB-9C42970CCF69}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Release|Win32.Build.0 = Release|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{5DC79C83-9DE8-46B3-A172-8A4E3371878B}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Release|Win32.Build.0 = Release|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{503AFD46-DF2F-4D2B-8584-60AD2007D2BE}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Release|Win32.Build.0 = Release|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{128791D9-6787-471C-9A0C-0DCAE53F4911}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Release|Win32.Build.0 = Release|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{41FA5224-3315-4CDA-9C44-19085049F179}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Release|Win32.Build.0 = Release|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{C94BEF01-706C-49A7-9FF1-9D87FA5BB8E7}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Release|Win32.Build.0 = Release|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{DC7E75E5-FE42-4529-9D9A-19D240B8727B}.Template|Win32.Build.0 = Template|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Release|Win32.Build.0 = Release|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Template|Win32.ActiveCfg = Template|Win32
|
||||
{ADE6F714-BD52-432D-AB86-62FA59AB6746}.Template|Win32.Build.0 = Template|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Release|Win32.Build.0 = Release|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll|Win32.ActiveCfg = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Releasedll|Win32.Build.0 = Releasedll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{2DABFAD1-114B-4F96-9185-DC0C56A3662D}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Release|Win32.Build.0 = Release|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{58FE3581-C997-4BD5-9AC6-AEEB54A43D2C}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Release|Win32.Build.0 = Release|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Releasedll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Releasedll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Template|Win32.ActiveCfg = DebugDll|Win32
|
||||
{1F3F3884-7F9B-4BA1-8CA3-61E6758A7193}.Template|Win32.Build.0 = DebugDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
66
acl_vc2003.sln
Normal file
66
acl_vc2003.sln
Normal file
@ -0,0 +1,66 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2003.vcproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2003.vcproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_dict", "lib_dict\lib_dict.vcproj", "{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_tls", "lib_tls\lib_tls.vcproj", "{389FDE47-7F16-4DD4-B37A-27918BE745B6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
DebugDll = DebugDll
|
||||
Release = Release
|
||||
ReleaseDll = ReleaseDll
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll.Build.0 = ReleaseDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Debug.ActiveCfg = Debug|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Debug.Build.0 = Debug|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Release.ActiveCfg = Release|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Release.Build.0 = Release|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.ReleaseDll.ActiveCfg = ReleaseDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.ReleaseDll.Build.0 = ReleaseDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Debug.ActiveCfg = Debug|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Debug.Build.0 = Debug|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.DebugDll.ActiveCfg = DebugDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.DebugDll.Build.0 = DebugDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Release.ActiveCfg = Release|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Release.Build.0 = Release|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.ReleaseDll.ActiveCfg = ReleaseDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.ReleaseDll.Build.0 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionItems) = postSolution
|
||||
changes.txt = changes.txt
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
60
acl_vc2010.sln
Normal file
60
acl_vc2010.sln
Normal file
@ -0,0 +1,60 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2010.vcxproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2010.vcxproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_dict", "lib_dict\lib_dict.vcxproj", "{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_tls", "lib_tls\lib_tls.vcxproj", "{389FDE47-7F16-4DD4-B37A-27918BE745B6}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2597AF7B-516E-478A-B72E-0BC8A59E8965}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
..\changes.txt = ..\changes.txt
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
DebugDll|Win32 = DebugDll|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
ReleaseDll|Win32 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.Release|Win32.Build.0 = Release|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{9E6E9FE9-EAAC-44BA-B463-70DE0233822E}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.Release|Win32.Build.0 = Release|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{389FDE47-7F16-4DD4-B37A-27918BE745B6}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
37
acl_vc2012.sln
Normal file
37
acl_vc2012.sln
Normal file
@ -0,0 +1,37 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_acl", "lib_acl\lib_acl_vc2012.vcxproj", "{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_protocol", "lib_protocol\lib_protocol_vc2012.vcxproj", "{FE724EF7-3763-4E78-BDF5-BCBC075719FD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2597AF7B-516E-478A-B72E-0BC8A59E8965}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
DebugDll|Win32 = DebugDll|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
ReleaseDll|Win32 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.Release|Win32.Build.0 = Release|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{B40213C2-507C-4C7F-A6E1-B850C9BDC27B}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.DebugDll|Win32.Build.0 = DebugDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.Release|Win32.Build.0 = Release|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
|
||||
{FE724EF7-3763-4E78-BDF5-BCBC075719FD}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
93
app/Makefile.in
Normal file
93
app/Makefile.in
Normal file
@ -0,0 +1,93 @@
|
||||
CC = g++
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Waggregate-return -Wno-long-long \
|
||||
-Wpointer-arith -Werror -Wshadow -O3 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB = -lpthread -lcrypt -lz
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
# For FreeBSD
|
||||
ifeq ($(findstring FreeBSD, $(UNIXNAME)), FreeBSD)
|
||||
ifeq ($(findstring gcc, $(CC)), gcc)
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DFREEBSD -D_REENTRANT
|
||||
SYSLIB = -lcrypt -lpthread
|
||||
endif
|
||||
|
||||
#Path for Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT
|
||||
endif
|
||||
|
||||
#Path for SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT
|
||||
endif
|
||||
|
||||
#Path for HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
|
||||
CFLAGS += -I../../lib_acl/include -I../../lib_protocol/include -I../../lib_acl_cpp/include
|
||||
EXTLIBS =
|
||||
LDFLAGS = -L../../lib_acl_cpp/lib -l_acl_cpp -L../../lib_protocol/lib -l_protocol -L../../lib_acl/lib -l_acl \
|
||||
$(EXTLIBS) $(SYSLIB)
|
||||
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
LINK = $(CC) $(OBJ) $(LDFLAGS)
|
||||
###########################################################
|
||||
OBJ_PATH = .
|
||||
|
||||
#Project's objs
|
||||
SRC = $(wildcard *.cpp)
|
||||
OBJ = $(patsubst %.cpp, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
|
||||
|
||||
$(OBJ_PATH)/%.o: %.cpp
|
||||
$(COMPILE) $< -o $@
|
||||
|
||||
.PHONY = all clean
|
||||
all: RM $(OBJ)
|
||||
$(LINK) -o $(PROG)
|
||||
@echo ""
|
||||
@echo "All ok! Output:$(PROG)"
|
||||
@echo ""
|
||||
RM:
|
||||
rm -f $(PROG)
|
||||
clean:
|
||||
rm -f $(PROG)
|
||||
rm -f $(OBJ)
|
||||
###########################################################
|
97
app/gid/gid_client/c/Makefile
Normal file
97
app/gid/gid_client/c/Makefile
Normal file
@ -0,0 +1,97 @@
|
||||
SHELL = /bin/sh
|
||||
CC = gcc
|
||||
AR = ar
|
||||
ARFL = rv
|
||||
#ARFL = cru
|
||||
RANLIB = ranlib
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Wpointer-arith -Werror -Wshadow -O3 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS \
|
||||
-Wno-long-long \
|
||||
-Wno-unused-parameter \
|
||||
-fPIC -Wno-unknown-pragmas \
|
||||
-DUSE_SERVICE_CLIENT
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB =
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = g++
|
||||
endif
|
||||
|
||||
# For FreeBSD
|
||||
ifeq ($(findstring FreeBSD, $(UNIXNAME)), FreeBSD)
|
||||
ifeq ($(findstring gcc, $(CC)), gcc)
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DFREEBSD -D_REENTRANT
|
||||
endif
|
||||
|
||||
# For Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT
|
||||
endif
|
||||
|
||||
# For SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB = -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB = -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT
|
||||
endif
|
||||
|
||||
# For HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
|
||||
OBJ_PATH_DST = ./debug
|
||||
LIB_PATH_DST = ./lib
|
||||
|
||||
INC_COMPILE = -I./include \
|
||||
-I../../../../lib_protocol/include \
|
||||
-I../../../../lib_acl/include
|
||||
CFLAGS += $(INC_COMPILE)
|
||||
|
||||
#Project's objs
|
||||
OBJS_DST = $(patsubst %.c, $(OBJ_PATH_DST)/%.o, $(notdir $(wildcard src/*.c)))
|
||||
###########################################################
|
||||
|
||||
LIB_NAME = lib_gid.a
|
||||
|
||||
.PHONY = clean
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
|
||||
$(LIB_NAME): $(OBJS_DST)
|
||||
$(AR) $(ARFL) $(LIB_PATH_DST)/$(LIB_NAME) $(OBJS_DST)
|
||||
$(RANLIB) $(LIB_PATH_DST)/$(LIB_NAME)
|
||||
|
||||
# src
|
||||
$(OBJ_PATH_DST)/%.o: src/%.c
|
||||
$(COMPILE) $< -o $@
|
||||
clean:
|
||||
rm -f $(LIB_PATH_DST)/$(LIB_NAME)
|
||||
rm -f $(OBJS_DST)
|
122
app/gid/gid_client/c/include/lib_gid.h
Normal file
122
app/gid/gid_client/c/include/lib_gid.h
Normal file
@ -0,0 +1,122 @@
|
||||
#ifndef __LIB_GID_INCLUDE_H__
|
||||
#define __LIB_GID_INCLUDE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* 通讯协议方式 */
|
||||
#define GID_PROTO_CMDLINE 0 /* 命令行方式 */
|
||||
#define GID_PROTO_JSON 1 /* http 方式,数据格式为 json 格式 */
|
||||
#define GID_PROTO_XML 2 /* http 方式,数据格式为 xml 格式 */
|
||||
|
||||
/* 操作命令 */
|
||||
#define GID_CMD_NEXT "new_gid" /* 获取下一个唯一 gid */
|
||||
|
||||
/* 出错码 */
|
||||
|
||||
/* 客户端相关的错误码 */
|
||||
#define GID_OK 200 /* 正常 */
|
||||
#define GID_ERR_INIT 400 /* 库未初始化,应用应在程序初始化时调用初始化函数 gid_client_init */
|
||||
#define GID_ERR_CONN 401 /* 连接服务器失败 */
|
||||
#define GID_ERR_IO 402 /* 与服务器通信失败 */
|
||||
#define GID_ERR_PROTO 403 /* 协议格式错误 */
|
||||
#define GID_ERR_SERVER 404 /* 服务器内部出错 */
|
||||
|
||||
/* 服务端相关的错误码 */
|
||||
#define GID_ERR_SID 500 /* 会话 ID 号不对 */
|
||||
#define GID_ERR_OVERRIDE 501 /* 达到最大分配值 */
|
||||
#define GID_ERR_SAVE 502 /* 存储至磁盘时出错 */
|
||||
|
||||
/**
|
||||
* 库初始化函数,使用者在程序启动后应该调用该函数初始化库
|
||||
* @param proto {int} 通信协议格式,参见上面:GID_PROTO_XXX
|
||||
* @param server_addr {const char*} gid 服务器地址,格式:ip:port 或
|
||||
* domain:port 或 unix 域 /xxx/xxx/xxx
|
||||
*/
|
||||
void gid_client_init(int proto, const char *server_addr);
|
||||
|
||||
/**
|
||||
* 根据错误号获得错误描述
|
||||
* @param errnum {int} 错误号,参见上面:GID_ERR_XXX
|
||||
* @return {const char*} 错误描述信息
|
||||
*/
|
||||
const char *gid_client_serror(int errnum);
|
||||
|
||||
/**
|
||||
* 设置 HTTP 请求中的 URL,内部有缺省值,可不直接调用此函数
|
||||
* @param url {const char*} URL 字符串
|
||||
*/
|
||||
void gid_client_set_url(const char *url);
|
||||
|
||||
/**
|
||||
* 设置 HTTP 请求是否保持长连接,缺省情况下保持长连接
|
||||
* @param keepalive {int} 是否保持长连接
|
||||
*/
|
||||
void gid_client_set_keepalive(int keepalive);
|
||||
|
||||
/**
|
||||
* 在长连接情况下,如果连接中间意外中断,设置重试次数,缺省值为 1
|
||||
* @param nretry {int} 最大重试次数
|
||||
*/
|
||||
void gid_client_set_retry_limit(int nretry);
|
||||
|
||||
/**
|
||||
* 设置连接 gid 服务器的连接超时时间(秒),缺省值为 20 秒
|
||||
* @param timeout {int} 超时时间(秒)
|
||||
*/
|
||||
void gid_client_set_conn_timeout(int timeout);
|
||||
|
||||
/**
|
||||
* 设置网络通信的读写超时时间(秒),缺省值为 20 秒
|
||||
* @param timeout {int} 超时时间(秒)
|
||||
*/
|
||||
void gid_client_set_rw_timeout(int timeout);
|
||||
|
||||
/**
|
||||
* 获得下一个 gid 号
|
||||
* @param tag {const char*} 标识名称,如果为空,则内部缺省使用 default 标签,
|
||||
* 该值的格式为:tag_name[:sid],其中的 tag_name 为真正的标识名,sid 为访问
|
||||
* 该标识对象的授权ID号,如果该值与服务端的 sid 不匹配,则禁止访问并返回错误,
|
||||
* 当访问一个新的标识对象并产生第一个 gid 值时,其中如果设置了 sid 则该 sid
|
||||
* 自动做为该标识对象的授权ID号,其它程序若想访问该标识对象的 gid 则必须提供
|
||||
* 该授权 ID 号
|
||||
* @param errnum {int*} 该指针非空时用来记录出错时的错误号
|
||||
* @return {long long int} 获得的下一个唯一 gid 号,如果该值 < 0 则表示出错
|
||||
*/
|
||||
long long int gid_next(const char *tag, int *errnum);
|
||||
|
||||
/* 如果获取 gid 的函数使用用户提供的连接描述符 */
|
||||
|
||||
/**
|
||||
* 采用命令行方式从服务端获取 gid 号
|
||||
* @param fd {int} 与服务器连接的套接字
|
||||
* @param tag {const char*} 标识名称,若为空则内部缺省使用default
|
||||
* @param errnum {int*} 该指针非空时用来记录出错时的错误号
|
||||
* @return {long long int} 获得的下一个唯一 gid 号, * 如果该值为 < 0 则表示出错
|
||||
*/
|
||||
long long int gid_cmdline_get(int fd, const char *tag, int *errnum);
|
||||
|
||||
/**
|
||||
* 采用 http 协议且数据格式为 json 格式,从服务端获取 gid 号
|
||||
* @param fd {int} 与服务器连接的套接字
|
||||
* @param tag {const char*} 标识名称,若为空则内部缺省使用default
|
||||
* @param errnum {int*} 该指针非空时用来记录出错时的错误号
|
||||
* @return {long long int} 获得的下一个唯一 gid 号,如果该值 < 0 则表示出错
|
||||
*/
|
||||
long long int gid_json_get(int fd, const char *tag, int *errnum);
|
||||
|
||||
/**
|
||||
* 采用 http 协议且数据格式为 xml 格式,从服务端获取 gid 号
|
||||
* @param fd {int} 与服务器连接的套接字
|
||||
* @param tag {const char*} 标识名称,若为空则内部缺省使用default
|
||||
* @param errnum {int*} 该指针非空时用来记录出错时的错误号
|
||||
* @return {long long int} 获得的下一个唯一 gid 号,如果该值 < 0 则表示出错
|
||||
*/
|
||||
long long int gid_xml_get(int fd, const char *tag, int *errnum);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
10
app/gid/gid_client/c/src/gid.h
Normal file
10
app/gid/gid_client/c/src/gid.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef __GID_INCLUDE_H__
|
||||
#define __GID_INCLUDE_H__
|
||||
|
||||
#include "lib_acl.h"
|
||||
|
||||
acl_int64 gid_cmdline_next(ACL_VSTREAM *client, const char *tag, int *errnum);
|
||||
acl_int64 gid_json_next(ACL_VSTREAM *client, const char *tag, int *errnum);
|
||||
acl_int64 gid_xml_next(ACL_VSTREAM *client, const char *tag, int *errnum);
|
||||
|
||||
#endif
|
82
app/gid/gid_client/c/src/gid_cmdline.c
Normal file
82
app/gid/gid_client/c/src/gid_cmdline.c
Normal file
@ -0,0 +1,82 @@
|
||||
#include "lib_acl.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "lib_gid.h"
|
||||
#include "gid.h"
|
||||
|
||||
acl_int64 gid_cmdline_get(int fd, const char *tag, int *errnum)
|
||||
{
|
||||
acl_int64 gid;
|
||||
ACL_VSTREAM *client = acl_vstream_fdopen(fd, 0, 1024,
|
||||
var_gid_rw_timeout, ACL_VSTREAM_TYPE_SOCK);
|
||||
|
||||
gid = gid_cmdline_next(client, tag, errnum);
|
||||
acl_vstream_free(client);
|
||||
return (gid);
|
||||
}
|
||||
|
||||
acl_int64 gid_cmdline_next(ACL_VSTREAM *client, const char *tag, int *errnum)
|
||||
{
|
||||
char buf[1204];
|
||||
ACL_ARGV *tokens;
|
||||
ACL_ITER iter;
|
||||
const char *status = NULL, *gid = NULL, *tag_ptr = NULL, *msg = NULL, *err = NULL;
|
||||
|
||||
if (tag && *tag)
|
||||
snprintf(buf, sizeof(buf), "CMD^%s|TAG^%s\r\n", GID_CMD_NEXT, tag);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "CMD^%s\r\n", GID_CMD_NEXT);
|
||||
|
||||
if (acl_vstream_writen(client, buf, strlen(buf)) == ACL_VSTREAM_EOF) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
return (-1);
|
||||
} else if (acl_vstream_gets_nonl(client, buf, sizeof(buf)) == ACL_VSTREAM_EOF)
|
||||
{
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
tokens = acl_argv_split(buf, "|");
|
||||
acl_foreach(iter, tokens) {
|
||||
const char *ptr = (const char*) iter.data;
|
||||
|
||||
if (strncasecmp(ptr, "STATUS^", sizeof("STATUS^") - 1) == 0) {
|
||||
status = ptr + sizeof("STATUS^") - 1;
|
||||
} else if (strncasecmp(ptr, "GID^", sizeof("GID^") - 1) == 0) {
|
||||
gid = ptr + sizeof("GID^") - 1;
|
||||
} else if (strncasecmp(ptr, "TAG^", sizeof("TAG^") - 1) == 0) {
|
||||
tag_ptr = ptr + sizeof("TAG^") - 1;
|
||||
} else if (strncasecmp(ptr, "MSG^", sizeof("MSG^") - 1) == 0) {
|
||||
msg = ptr + sizeof("MSG^") - 1;
|
||||
} else if (strncasecmp(ptr, "ERR^", sizeof("ERR^") - 1) == 0) {
|
||||
err = ptr + sizeof("ERR^");
|
||||
}
|
||||
}
|
||||
|
||||
if (status == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_argv_free(tokens);
|
||||
return (-1);
|
||||
} else if (strcasecmp(status, "OK") != 0) {
|
||||
if (errnum) {
|
||||
if (err)
|
||||
*errnum = atoi(err);
|
||||
else
|
||||
*errnum = GID_ERR_SERVER;
|
||||
}
|
||||
acl_argv_free(tokens);
|
||||
return (-1);
|
||||
} else if (gid == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_argv_free(tokens);
|
||||
return (-1);
|
||||
} else {
|
||||
acl_int64 ngid = atoll(gid);
|
||||
acl_argv_free(tokens);
|
||||
return (ngid);
|
||||
}
|
||||
}
|
98
app/gid/gid_client/c/src/gid_json.c
Normal file
98
app/gid/gid_client/c/src/gid_json.c
Normal file
@ -0,0 +1,98 @@
|
||||
#include "lib_acl.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "http_client.h"
|
||||
#include "lib_gid.h"
|
||||
#include "gid.h"
|
||||
|
||||
acl_int64 gid_json_get(int fd, const char *tag, int *errnum)
|
||||
{
|
||||
ACL_VSTREAM *client = acl_vstream_fdopen(fd, 0, 1024,
|
||||
var_gid_rw_timeout, ACL_VSTREAM_TYPE_SOCK);
|
||||
acl_int64 gid;
|
||||
|
||||
gid = gid_json_next(client, tag, errnum);
|
||||
acl_vstream_free(client);
|
||||
return (gid);
|
||||
}
|
||||
|
||||
acl_int64 gid_json_next(ACL_VSTREAM *client, const char *tag, int *errnum)
|
||||
{
|
||||
char buf[1204];
|
||||
ACL_ITER iter;
|
||||
ACL_JSON *json;
|
||||
const char *status = NULL, *gid = NULL, *tag_ptr = NULL, *msg = NULL, *err = NULL;
|
||||
|
||||
if (tag && *tag)
|
||||
snprintf(buf, sizeof(buf), "{ cmd: '%s', tag: '%s' }\r\n",
|
||||
GID_CMD_NEXT, tag);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "{ cmd: '%s' }\r\n", GID_CMD_NEXT);
|
||||
|
||||
/* 发送 HTTP JSON 请求 */
|
||||
if (http_client_post_request(client, var_gid_url, 1,
|
||||
"json", buf, (int) strlen(buf), errnum) < 0)
|
||||
{
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
json = acl_json_alloc(); /* 分配 JSON 对象 */
|
||||
|
||||
/* 接收 HTTP JSON 响应 */
|
||||
if (http_client_get_respond(client, json, NULL, errnum, NULL) < 0)
|
||||
{
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
acl_json_free(json);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#define STR acl_vstring_str
|
||||
|
||||
/* 数据格式: { status: 'ok|error', gid: xxx, tag: 'xxx', msg: 'xxx', err: 'xxx' } */
|
||||
|
||||
acl_foreach(iter, json) {
|
||||
ACL_JSON_NODE *node = (ACL_JSON_NODE*) iter.data;
|
||||
|
||||
if (STR(node->ltag) == 0 || STR(node->text) == 0)
|
||||
continue;
|
||||
if (strcasecmp(STR(node->ltag), "STATUS") == 0) {
|
||||
status = STR(node->text);
|
||||
} else if (strcasecmp(STR(node->ltag), "GID") == 0) {
|
||||
gid = STR(node->text);
|
||||
} else if (strcasecmp(STR(node->ltag), "TAG") == 0) {
|
||||
tag_ptr = STR(node->text);
|
||||
} else if (strcasecmp(STR(node->ltag), "MSG") == 0) {
|
||||
msg = STR(node->text);
|
||||
} else if (strcasecmp(STR(node->ltag), "ERR") == 0) {
|
||||
err = STR(node->text);
|
||||
}
|
||||
}
|
||||
|
||||
if (status == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_json_free(json);
|
||||
return (-1);
|
||||
} else if (strcasecmp(status, "OK") != 0) {
|
||||
if (errnum) {
|
||||
if (err)
|
||||
*errnum = atoi(err);
|
||||
else
|
||||
*errnum = GID_ERR_SERVER;
|
||||
}
|
||||
acl_json_free(json);
|
||||
return (-1);
|
||||
} else if (gid == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_json_free(json);
|
||||
return (-1);
|
||||
} else {
|
||||
acl_int64 ngid = atoll(gid);
|
||||
acl_json_free(json);
|
||||
return (ngid);
|
||||
}
|
||||
}
|
123
app/gid/gid_client/c/src/gid_xml.c
Normal file
123
app/gid/gid_client/c/src/gid_xml.c
Normal file
@ -0,0 +1,123 @@
|
||||
#include "lib_acl.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "http_client.h"
|
||||
#include "lib_gid.h"
|
||||
#include "gid.h"
|
||||
|
||||
acl_int64 gid_xml_get(int fd, const char *tag, int *errnum)
|
||||
{
|
||||
ACL_VSTREAM *client = acl_vstream_fdopen(fd, 0, 1024,
|
||||
var_gid_rw_timeout, ACL_VSTREAM_TYPE_SOCK);
|
||||
acl_int64 gid;
|
||||
|
||||
gid = gid_xml_next(client, tag, errnum);
|
||||
acl_vstream_free(client);
|
||||
return (gid);
|
||||
}
|
||||
|
||||
acl_int64 gid_xml_next(ACL_VSTREAM *client, const char *tag, int *errnum)
|
||||
{
|
||||
char buf[1204];
|
||||
ACL_ITER iter;
|
||||
ACL_XML *xml;
|
||||
const char *status = NULL, *gid = NULL, *tag_ptr = NULL, *msg = NULL, *err = NULL;
|
||||
static __thread ACL_VSTRING *tt = NULL;
|
||||
|
||||
if (tag && *tag)
|
||||
snprintf(buf, sizeof(buf), "<request cmd='%s' tag='%s' />\r\n",
|
||||
GID_CMD_NEXT, tag);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "<request cmd='%s' />\r\n", GID_CMD_NEXT);
|
||||
|
||||
/* 发送 HTTP JSON 请求 */
|
||||
if (http_client_post_request(client, var_gid_url, 1,
|
||||
"xml", buf, (int) strlen(buf), errnum) < 0)
|
||||
{
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
xml = acl_xml_alloc(); /* 分配 JSON 对象 */
|
||||
|
||||
if (tt == NULL)
|
||||
tt = acl_vstring_alloc(100);
|
||||
else
|
||||
ACL_VSTRING_RESET(tt);
|
||||
|
||||
/* 接收 HTTP JSON 响应 */
|
||||
if (http_client_get_respond(client, NULL, xml, errnum, tt) < 0)
|
||||
{
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
acl_xml_free(xml);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
#define STR acl_vstring_str
|
||||
|
||||
/*
|
||||
{
|
||||
ACL_VSTRING *tmp = acl_vstring_alloc(128);
|
||||
acl_xml_dump2(xml, tmp);
|
||||
printf("xml: %s\r\n", STR(tmp));
|
||||
acl_vstring_free(tmp);
|
||||
}
|
||||
*/
|
||||
|
||||
/* 数据格式: <respond status='ok|error' gid=xxx tag='xxx' msg='xxx' err='xxx' /> */
|
||||
|
||||
acl_foreach(iter, xml) {
|
||||
ACL_XML_NODE *node = (ACL_XML_NODE*) iter.data;
|
||||
|
||||
/* 找到 respond 结点 */
|
||||
if (strcasecmp(STR(node->ltag), "respond") == 0
|
||||
&& node->attr_list != NULL)
|
||||
{
|
||||
ACL_ITER attr_iter;
|
||||
|
||||
/* 遍历结点属性 */
|
||||
acl_foreach(attr_iter, node->attr_list) {
|
||||
ACL_XML_ATTR *attr = (ACL_XML_ATTR*) attr_iter.data;
|
||||
|
||||
if (strcasecmp(STR(attr->name), "STATUS") == 0) {
|
||||
status = STR(attr->value);
|
||||
} else if (strcasecmp(STR(attr->name), "GID") == 0) {
|
||||
gid = STR(attr->value);
|
||||
} else if (strcasecmp(STR(attr->name), "TAG") == 0) {
|
||||
tag_ptr = STR(attr->value);
|
||||
} else if (strcasecmp(STR(attr->name), "MSG") == 0) {
|
||||
msg = STR(attr->value);
|
||||
} else if (strcasecmp(STR(attr->name), "ERR") == 0) {
|
||||
err = STR(attr->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (status == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_xml_free(xml);
|
||||
return (-1);
|
||||
} else if (strcasecmp(status, "OK") != 0) {
|
||||
if (errnum) {
|
||||
if (err)
|
||||
*errnum = atoi(err);
|
||||
else
|
||||
*errnum = GID_ERR_SERVER;
|
||||
}
|
||||
acl_xml_free(xml);
|
||||
return (-1);
|
||||
} else if (gid == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_PROTO;
|
||||
acl_xml_free(xml);
|
||||
return (-1);
|
||||
} else {
|
||||
acl_int64 ngid = atoll(gid);
|
||||
acl_xml_free(xml);
|
||||
return (ngid);
|
||||
}
|
||||
}
|
61
app/gid/gid_client/c/src/global.c
Normal file
61
app/gid/gid_client/c/src/global.c
Normal file
@ -0,0 +1,61 @@
|
||||
#include "lib_acl.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "lib_gid.h"
|
||||
|
||||
char var_gid_server_addr[64] = "";
|
||||
int var_gid_conn_timeout;
|
||||
int var_gid_rw_timeout;
|
||||
int var_gid_retry_limit;
|
||||
int var_gid_keepalive;
|
||||
int var_gid_proto;
|
||||
char var_gid_url[1024];
|
||||
|
||||
void gid_client_init(int proto, const char *server_addr)
|
||||
{
|
||||
acl_assert(server_addr && *server_addr);
|
||||
|
||||
ACL_SAFE_STRNCPY(var_gid_server_addr, server_addr,
|
||||
sizeof(var_gid_server_addr));
|
||||
if (proto == GID_PROTO_JSON)
|
||||
ACL_SAFE_STRNCPY(var_gid_url, GID_JSON_URL,
|
||||
sizeof(var_gid_url));
|
||||
else if (proto == GID_PROTO_XML)
|
||||
ACL_SAFE_STRNCPY(var_gid_url, GID_XML_URL,
|
||||
sizeof(var_gid_url));
|
||||
else if (proto != GID_PROTO_CMDLINE)
|
||||
acl_assert(0);
|
||||
|
||||
var_gid_proto = proto;
|
||||
var_gid_conn_timeout = 20;
|
||||
var_gid_rw_timeout = 20;
|
||||
var_gid_retry_limit = 1;
|
||||
var_gid_keepalive = 1;
|
||||
}
|
||||
|
||||
void gid_client_set_url(const char *url)
|
||||
{
|
||||
if (url == NULL || *url == 0)
|
||||
return;
|
||||
ACL_SAFE_STRNCPY(var_gid_url, url, sizeof(var_gid_url));
|
||||
}
|
||||
|
||||
void gid_client_set_keepalive(int keepalive)
|
||||
{
|
||||
var_gid_keepalive = keepalive;
|
||||
}
|
||||
|
||||
void gid_client_set_retry_limit(int nretry)
|
||||
{
|
||||
var_gid_retry_limit = nretry;
|
||||
}
|
||||
|
||||
void gid_client_set_conn_timeout(int timeout)
|
||||
{
|
||||
var_gid_conn_timeout = timeout;
|
||||
}
|
||||
|
||||
void gid_client_set_rw_timeout(int timeout)
|
||||
{
|
||||
var_gid_rw_timeout = timeout;
|
||||
}
|
15
app/gid/gid_client/c/src/global.h
Normal file
15
app/gid/gid_client/c/src/global.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef __GLOBAL_INCLUDE_H__
|
||||
#define __GLOBAL_INCLUDE_H__
|
||||
|
||||
extern char var_gid_server_addr[];
|
||||
extern int var_gid_conn_timeout;
|
||||
extern int var_gid_rw_timeout;
|
||||
extern int var_gid_retry_limit;
|
||||
extern int var_gid_proto;
|
||||
extern int var_gid_keepalive;
|
||||
extern char var_gid_url[];
|
||||
|
||||
#define GID_JSON_URL "/gid_json"
|
||||
#define GID_XML_URL "/gid_xml"
|
||||
|
||||
#endif
|
99
app/gid/gid_client/c/src/http_client.c
Normal file
99
app/gid/gid_client/c/src/http_client.c
Normal file
@ -0,0 +1,99 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#include "lib_gid.h"
|
||||
#include "global.h"
|
||||
#include "http_client.h"
|
||||
|
||||
int http_client_post_request(ACL_VSTREAM *client, const char *url, int keepalive,
|
||||
const char *gid_fmt, char* body, int len, int *errnum)
|
||||
{
|
||||
HTTP_HDR_REQ* hdr_req = http_hdr_req_create(url, "POST", "HTTP/1.1");
|
||||
ACL_VSTRING* buf = acl_vstring_alloc(256);
|
||||
struct iovec vector[2]; /* 数据数组 */
|
||||
int ret;
|
||||
|
||||
/* 在请求头中设置请求体的数据长度 */
|
||||
http_hdr_put_int(&hdr_req->hdr, "Content-Length", len);
|
||||
if (keepalive)
|
||||
http_hdr_put_str(&hdr_req->hdr, "Connection", "keep-alive");
|
||||
if (gid_fmt && *gid_fmt)
|
||||
http_hdr_put_str(&hdr_req->hdr, "x-gid-format", gid_fmt);
|
||||
http_hdr_build_request(hdr_req, buf); /* 构建 HTTP 请求头数据 */
|
||||
|
||||
/* 设置 HTTP 头 */
|
||||
vector[0].iov_base = acl_vstring_str(buf);
|
||||
vector[0].iov_len = ACL_VSTRING_LEN(buf);
|
||||
|
||||
/* 设置 HTTP 体 */
|
||||
vector[1].iov_base = (char*) body;
|
||||
vector[1].iov_len = len;
|
||||
|
||||
ret = acl_vstream_writevn(client, vector, 2); /* 发送请求头及请求体 */
|
||||
http_hdr_req_free(hdr_req); /* 释放 HTTP 请求头对象 */
|
||||
acl_vstring_free(buf); /* 释放缓冲区 */
|
||||
|
||||
if (ret == ACL_VSTREAM_EOF) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_IO;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* 发送HTTP请求成功 */
|
||||
return (0);
|
||||
}
|
||||
|
||||
int http_client_get_respond(ACL_VSTREAM* client, ACL_JSON *json,
|
||||
ACL_XML *xml, int *errnum, ACL_VSTRING *dump)
|
||||
{
|
||||
HTTP_HDR_RES* hdr_res;
|
||||
HTTP_RES* res;
|
||||
char buf[1024];
|
||||
int ret;
|
||||
|
||||
acl_assert(json != NULL || xml != NULL);
|
||||
|
||||
hdr_res = http_hdr_res_new(); /* 创建HTTP 响应头对象 */
|
||||
/* 读取 HTTP 服务器响应头 */
|
||||
ret = http_hdr_res_get_sync(hdr_res, client, var_gid_rw_timeout);
|
||||
if (ret < 0) {
|
||||
http_hdr_res_free(hdr_res); /* 释放 HTTP 响应头对象 */
|
||||
return -1;
|
||||
}
|
||||
/* 解析 HTTP 响应头 */
|
||||
if (http_hdr_res_parse(hdr_res) < 0) { /* 解析出错 */
|
||||
http_hdr_res_free(hdr_res);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
http_hdr_print(&hdr_res->hdr, "---respond---");
|
||||
*/
|
||||
|
||||
/* 需要先根据 HTTP 响应头判断是否有数据体 */
|
||||
if (hdr_res->hdr.content_length == 0 ||
|
||||
(hdr_res->hdr.content_length == -1 && !hdr_res->hdr.chunked
|
||||
&& hdr_res->reply_status > 300 && hdr_res->reply_status < 400))
|
||||
{
|
||||
http_hdr_res_free(hdr_res);
|
||||
return 0;
|
||||
}
|
||||
res = http_res_new(hdr_res); /* 创建 HTTP 响应体对象 */
|
||||
while (1) {
|
||||
/* 读数据体数据 */
|
||||
ret = http_res_body_get_sync(res, client, buf, sizeof(buf) - 1);
|
||||
if (ret <= 0)
|
||||
break;
|
||||
buf[ret] = 0;
|
||||
if (json)
|
||||
acl_json_update(json, buf);
|
||||
else
|
||||
acl_xml_update(xml, buf);
|
||||
if (dump)
|
||||
acl_vstring_strcat(dump, buf);
|
||||
}
|
||||
|
||||
/* 因为 res 中含有 hdr_res 所以会一同连 hdr_res 释放 */
|
||||
http_res_free(res);
|
||||
return (0);
|
||||
}
|
31
app/gid/gid_client/c/src/http_client.h
Normal file
31
app/gid/gid_client/c/src/http_client.h
Normal file
@ -0,0 +1,31 @@
|
||||
#ifndef __HTTP_CLIENT_INCLUDE_H__
|
||||
#define __HTTP_CLIENT_INCLUDE_H__
|
||||
|
||||
/**
|
||||
* 向服务器按 POST 方式发送请求
|
||||
* @param client {ACL_VSTREAM*} 连接流
|
||||
* @param url {const char*} URL 字符串
|
||||
* @param keepalive {int} 是否与服务端保持长连接
|
||||
* @param gid_fmt {const char*} 数据格式:xml 或 json
|
||||
* @param body {char*} 数据体地址
|
||||
* @param len {int} 数据体长度
|
||||
* @param errnum {int*} 若非空则记录出错时的原因
|
||||
* @return {int} 0 表示成功,否则表示失败
|
||||
*/
|
||||
int http_client_post_request(ACL_VSTREAM *client, const char *url, int keepalive,
|
||||
const char *gid_fmt, char* body, int len, int *errnum);
|
||||
|
||||
/**
|
||||
* 从服务器读取响应数据
|
||||
* @param client {ACL_VSTREAM*} 连接流
|
||||
* @param json {ACL_JSON*} 若非空,则采用 json 格式进行解析
|
||||
* @param xml {ACL_XML*} 若非空,则采用 xml 格式进行解析
|
||||
* @param errnum {int*} 若非空则记录出错时的原因
|
||||
* @param dump {ACL_VSTRING*} 非空则存储响应数据
|
||||
* @return {int} 0 表示成功,否则表示失败
|
||||
* 注:ACL_JSON* 和 ACL_XML* 必须有且只有一个非空
|
||||
*/
|
||||
int http_client_get_respond(ACL_VSTREAM* client, ACL_JSON *json,
|
||||
ACL_XML *xml, int *errnum, ACL_VSTRING *dump);
|
||||
|
||||
#endif
|
107
app/gid/gid_client/c/src/lib_gid.c
Normal file
107
app/gid/gid_client/c/src/lib_gid.c
Normal file
@ -0,0 +1,107 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "gid.h"
|
||||
#include "lib_gid.h"
|
||||
|
||||
/* 使用线程局部变量,但注意此库不得编译成动态库XXX */
|
||||
|
||||
static __thread ACL_VSTREAM *__client = NULL;
|
||||
|
||||
acl_int64 gid_next(const char *tag, int *errnum)
|
||||
{
|
||||
acl_int64 gid = 0;
|
||||
int err, nretry = 0;
|
||||
|
||||
if (var_gid_server_addr[0] == 0) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_INIT;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
while (1) {
|
||||
if (__client == NULL)
|
||||
__client = acl_vstream_connect(var_gid_server_addr,
|
||||
ACL_BLOCKING, var_gid_conn_timeout,
|
||||
var_gid_rw_timeout, 1024);
|
||||
if (__client == NULL) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_CONN;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
if (var_gid_proto == GID_PROTO_JSON) {
|
||||
gid = gid_json_next(__client, tag, &err);
|
||||
} else if (var_gid_proto == GID_PROTO_XML) {
|
||||
gid = gid_xml_next(__client, tag, &err);
|
||||
} else {
|
||||
gid = gid_cmdline_next(__client, tag, &err);
|
||||
}
|
||||
|
||||
if (gid >= 0) {
|
||||
if (errnum)
|
||||
*errnum = GID_OK;
|
||||
break;
|
||||
} else if (err != GID_ERR_IO) {
|
||||
if (errnum)
|
||||
*errnum = err;
|
||||
break;
|
||||
} else if (nretry++ >= var_gid_retry_limit) {
|
||||
if (errnum)
|
||||
*errnum = err;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var_gid_keepalive == 0) {
|
||||
acl_vstream_close(__client);
|
||||
__client = NULL;
|
||||
}
|
||||
|
||||
return (gid);
|
||||
}
|
||||
|
||||
/*
|
||||
#define GID_OK 200
|
||||
#define GID_ERR_INIT 400
|
||||
#define GID_ERR_CONN 401
|
||||
#define GID_ERR_IO 402
|
||||
#define GID_ERR_PROTO 403
|
||||
#define GID_ERR_SERVER 404
|
||||
|
||||
#define GID_ERR_SID 500
|
||||
#define GID_ERR_OVERRIDE 501
|
||||
#define GID_ERR_SAVE 502
|
||||
*/
|
||||
|
||||
const char *gid_client_serror(int errnum)
|
||||
{
|
||||
static const struct {
|
||||
int err;
|
||||
const char *str;
|
||||
} errors[] = {
|
||||
{ GID_OK, "ok" },
|
||||
|
||||
/* 客户端相关错误 */
|
||||
{ GID_ERR_INIT, "gid_client_init should called first" },
|
||||
{ GID_ERR_CONN, "connect server error" },
|
||||
{ GID_ERR_IO, "readwrite from server error" },
|
||||
{ GID_ERR_PROTO, "gid protocol error" },
|
||||
{ GID_ERR_SERVER, "gid server internal error" },
|
||||
|
||||
/* 服务端返回的错误 */
|
||||
{ GID_ERR_SID, "sid invalid" },
|
||||
{ GID_ERR_OVERRIDE, "gid override" },
|
||||
{ GID_ERR_SAVE, "gid save error" },
|
||||
{ 0, 0 }
|
||||
};
|
||||
static const char *unknown = "unknown error number";
|
||||
int i;
|
||||
|
||||
for (i = 0; errors[i].str != NULL; i++) {
|
||||
if (errnum == errors[i].err)
|
||||
return (errors[i].str);
|
||||
}
|
||||
return (unknown);
|
||||
}
|
114
app/gid/gid_client/c/test/Makefile
Normal file
114
app/gid/gid_client/c/test/Makefile
Normal file
@ -0,0 +1,114 @@
|
||||
SHELL = /bin/sh
|
||||
CC = g++
|
||||
CC = gcc
|
||||
#CC = ${MY_ENV_CC}
|
||||
AR = ar
|
||||
ARFL = rv
|
||||
#ARFL = cru
|
||||
RANLIB = ranlib
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Waggregate-return \
|
||||
-Wno-long-long \
|
||||
-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
|
||||
#CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
#-Waggregate-return -Wmissing-prototypes \
|
||||
#-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
#-D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB = -lpthread -lcrypt -lz
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
OSTYPE = $(shell uname -p)
|
||||
RPATH =
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
#Path for Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT -pedantic
|
||||
|
||||
ifeq ($(findstring i686, $(OSTYPE)), i686)
|
||||
RPATH = linux32
|
||||
FLAG_OS = LINUX32
|
||||
endif
|
||||
ifeq ($(findstring x86_64, $(OSTYPE)), x86_64)
|
||||
RPATH = linux64
|
||||
FLAG_OS = LINUX64
|
||||
endif
|
||||
endif
|
||||
|
||||
#Path for SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT -pedantic
|
||||
endif
|
||||
|
||||
#Path for HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
BASE_PATH = ../../../build
|
||||
|
||||
INC_COMPILE = -I../include -I../../../../../lib_acl/include
|
||||
LIB_COMPILE = -L../lib -l_gid -L../../../../../lib_acl/lib -L../../../../../lib_protocol/lib -l_protocol -l_acl
|
||||
|
||||
CFLAGS += $(INC_COMPILE)
|
||||
|
||||
###########################################################
|
||||
OUT_PATH = .
|
||||
OBJ_PATH = $(OUT_PATH)
|
||||
|
||||
#Project's objs
|
||||
SRC = $(wildcard *.c)
|
||||
OBJ = $(patsubst %.c, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
|
||||
###########################################################
|
||||
|
||||
PROG = gid_client
|
||||
|
||||
all: rm gid_client
|
||||
.PHONY = gid_client clean
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
|
||||
$(PROG): $(OBJ)
|
||||
$(CC) $(OBJ) $(LIB_COMPILE) $(SYSLIB) -o $(PROG)
|
||||
# cp $(OBJ_PATH)/$(PROG) $(BASE_PATH)/dist/master/libexec
|
||||
@echo ""
|
||||
@echo "All ok! Output:$(PROG)"
|
||||
@echo ""
|
||||
|
||||
$(OBJ_PATH)/%.o: %.c
|
||||
$(COMPILE) $< -o $@
|
||||
|
||||
rm:
|
||||
rm -f $(PROG)
|
||||
clean:
|
||||
rm -f $(PROG)
|
||||
rm -f $(OBJ)
|
153
app/gid/gid_client/c/test/main.c
Normal file
153
app/gid/gid_client/c/test/main.c
Normal file
@ -0,0 +1,153 @@
|
||||
#include "lib_acl.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <getopt.h>
|
||||
#include "lib_gid.h"
|
||||
|
||||
static double stamp_sub(const struct timeval *from, const struct timeval *sub_by)
|
||||
{
|
||||
struct timeval res;
|
||||
|
||||
memcpy(&res, from, sizeof(struct timeval));
|
||||
|
||||
res.tv_usec -= sub_by->tv_usec;
|
||||
if (res.tv_usec < 0) {
|
||||
--res.tv_sec;
|
||||
res.tv_usec += 1000000;
|
||||
}
|
||||
res.tv_sec -= sub_by->tv_sec;
|
||||
|
||||
return (res.tv_sec * 1000.0 + res.tv_usec/1000.0);
|
||||
}
|
||||
|
||||
static void test_get_gid(const char *tag, int n)
|
||||
{
|
||||
int i, errnum;
|
||||
acl_int64 gid = 0;
|
||||
struct timeval begin, end;
|
||||
double spent;
|
||||
|
||||
gettimeofday(&begin, NULL);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* »ñµÃΨһ gid ºÅ */
|
||||
gid = gid_next(tag, &errnum);
|
||||
if (gid < 0) {
|
||||
printf("error: %d, %s, gid: %lld\r\n",
|
||||
errnum, gid_client_serror(errnum), gid);
|
||||
break;
|
||||
}
|
||||
if (n <= 100)
|
||||
printf("get gid: %lld\r\n", gid);
|
||||
else if (i > 0 && i % 10000 == 0) {
|
||||
printf(">> i: %d, gid: %llu\r\n", i, gid);
|
||||
ACL_METER_TIME("---------");
|
||||
}
|
||||
}
|
||||
|
||||
gettimeofday(&end, NULL);
|
||||
|
||||
spent = stamp_sub(&end, &begin);
|
||||
printf("total count: %d, curr gid: %lld, spent: %.2f, speed: %.2f\r\n",
|
||||
n, gid, spent, (n * 1000) / (spent < 1 ? 1 : spent));
|
||||
}
|
||||
|
||||
static const char *__tag = NULL;
|
||||
static int __n = 0;
|
||||
|
||||
static void thread_main(void *ctx acl_unused)
|
||||
{
|
||||
test_get_gid(__tag, __n);
|
||||
}
|
||||
|
||||
static void test_gets_gid(const char *tag, int n)
|
||||
{
|
||||
acl_pthread_pool_t *thrpool = acl_thread_pool_create(10, 30);
|
||||
int i;
|
||||
|
||||
__tag = tag;
|
||||
__n = n;
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
acl_pthread_pool_add(thrpool, thread_main, NULL);
|
||||
acl_pthread_pool_destroy(thrpool);
|
||||
}
|
||||
|
||||
static void usage(const char *progname)
|
||||
{
|
||||
printf("usage: %s -h[help] -s server_addr[127.0.0.1:7072]"
|
||||
" -p protocol[cmdline|json|xml|]"
|
||||
" -n count[100] -c cmd[get] -m[use mempool]"
|
||||
" -t tag[default:sid] -P[use thread pool]\r\n", progname);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ch, n = 100, proto = GID_PROTO_JSON;
|
||||
int use_mempool = 0, use_concurrent = 0;
|
||||
char addr[64], cmd[32], tag[32];
|
||||
|
||||
snprintf(addr, sizeof(addr), "127.0.0.1:7072");
|
||||
snprintf(cmd, sizeof(cmd), "get");
|
||||
snprintf(tag, sizeof(tag), "default");
|
||||
|
||||
while ((ch = getopt(argc, argv, "hs:p:n:c:t:mP")) > 0) {
|
||||
switch (ch) {
|
||||
case 'h':
|
||||
usage(argv[0]);
|
||||
return (0);
|
||||
case 's':
|
||||
snprintf(addr, sizeof(addr), "%s", optarg);
|
||||
break;
|
||||
case 'p':
|
||||
if (strcasecmp(optarg, "cmdline") == 0)
|
||||
proto = GID_PROTO_CMDLINE;
|
||||
else if (strcasecmp(optarg, "json") == 0)
|
||||
proto = GID_PROTO_JSON;
|
||||
else if (strcasecmp(optarg, "xml") == 0)
|
||||
proto = GID_PROTO_XML;
|
||||
else {
|
||||
printf("invalid proto: %s\r\n", optarg);
|
||||
usage(argv[0]);
|
||||
return (0);
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
n = atoi(optarg);
|
||||
break;
|
||||
case 'c':
|
||||
snprintf(cmd, sizeof(cmd), "%s", optarg);
|
||||
break;
|
||||
case 't':
|
||||
snprintf(tag, sizeof(tag), "%s", optarg);
|
||||
break;
|
||||
case 'm':
|
||||
use_mempool = 1;
|
||||
break;
|
||||
case 'P':
|
||||
use_concurrent = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (use_mempool)
|
||||
acl_mem_slice_init(8, 1024, 100000,
|
||||
ACL_SLICE_FLAG_GC2 |
|
||||
ACL_SLICE_FLAG_RTGC_OFF |
|
||||
ACL_SLICE_FLAG_LP64_ALIGN);
|
||||
|
||||
/* ³õʼ»¯ */
|
||||
printf("proto: %d, addr: %s\n", proto, addr);
|
||||
gid_client_init(proto, addr);
|
||||
|
||||
if (strcasecmp(cmd, "get") == 0) {
|
||||
if (use_concurrent)
|
||||
test_gets_gid(tag, n);
|
||||
else
|
||||
test_get_gid(tag, n);
|
||||
} else
|
||||
usage(argv[0]);
|
||||
|
||||
return (0);
|
||||
}
|
12
app/gid/gid_client/java/.classpath
Normal file
12
app/gid/gid_client/java/.classpath
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="jar/json-lib-2.4-jdk15.jar"/>
|
||||
<classpathentry kind="lib" path="jar/commons-beanutils-1.8.3.jar"/>
|
||||
<classpathentry kind="lib" path="jar/commons-collections-3.2.1.jar"/>
|
||||
<classpathentry kind="lib" path="jar/commons-lang-2.6.jar"/>
|
||||
<classpathentry kind="lib" path="jar/commons-logging-1.1.1.jar"/>
|
||||
<classpathentry kind="lib" path="jar/ezmorph-1.0.6.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
17
app/gid/gid_client/java/.project
Normal file
17
app/gid/gid_client/java/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>GidClient</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -0,0 +1,3 @@
|
||||
#Fri Dec 02 10:23:44 CST 2011
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
23
app/gid/gid_client/java/doc/allclasses-frame.html
Normal file
23
app/gid/gid_client/java/doc/allclasses-frame.html
Normal file
@ -0,0 +1,23 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>所有类</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="bar">所有类</h1>
|
||||
<div class="indexContainer">
|
||||
<ul>
|
||||
<li><a href="com/iker/gid/GidClient.html" title="com.iker.gid中的类" target="classFrame">GidClient</a></li>
|
||||
<li><a href="com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类" target="classFrame">GidClientCmdLine</a></li>
|
||||
<li><a href="com/iker/gid/GidClientJson.html" title="com.iker.gid中的类" target="classFrame">GidClientJson</a></li>
|
||||
<li><a href="com/iker/gid/GidClientXml.html" title="com.iker.gid中的类" target="classFrame">GidClientXml</a></li>
|
||||
<li><a href="com/iker/gid/GidStatus.html" title="com.iker.gid中的类" target="classFrame">GidStatus</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
23
app/gid/gid_client/java/doc/allclasses-noframe.html
Normal file
23
app/gid/gid_client/java/doc/allclasses-noframe.html
Normal file
@ -0,0 +1,23 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>所有类</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="bar">所有类</h1>
|
||||
<div class="indexContainer">
|
||||
<ul>
|
||||
<li><a href="com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></li>
|
||||
<li><a href="com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></li>
|
||||
<li><a href="com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></li>
|
||||
<li><a href="com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></li>
|
||||
<li><a href="com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
306
app/gid/gid_client/java/doc/com/iker/gid/GidClient.html
Normal file
306
app/gid/gid_client/java/doc/com/iker/gid/GidClient.html
Normal file
@ -0,0 +1,306 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClient</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClient";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClient.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个类</li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClient.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClient.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClient" class="title">类 GidClient</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClient</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<dl>
|
||||
<dt>直接已知子类:</dt>
|
||||
<dd><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a>, <a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a>, <a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public abstract class <span class="strong">GidClient</span>
|
||||
extends java.lang.Object</pre>
|
||||
<div class="block">抽象接口</div>
|
||||
<dl><dt><span class="strong">作者:</span></dt>
|
||||
<dd>zsx</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClient.html#GidClient(java.lang.String, int, java.lang.String)">GidClient</a></strong>(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>abstract long</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClient.html#gidNext()">gidNext</a></strong>()</code>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClient.html#setConnectTimeout(int)">setConnectTimeout</a></strong>(int timeout)</code>
|
||||
<div class="block">设置络连接时间</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClient.html#setRdTimeout(int)">setRdTimeout</a></strong>(int timeout)</code>
|
||||
<div class="block">设置IO读超时时间</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClient(java.lang.String, int, java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClient</h4>
|
||||
<pre>public GidClient(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="gidNext()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidNext</h4>
|
||||
<pre>public abstract long gidNext()</pre>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
<dl><dt><span class="strong">返回:</span></dt><dd>返回唯一的64位整数,如果返回值 < 0 则表示出错</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="setRdTimeout(int)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setRdTimeout</h4>
|
||||
<pre>public void setRdTimeout(int timeout)</pre>
|
||||
<div class="block">设置IO读超时时间</div>
|
||||
<dl><dt><span class="strong">参数:</span></dt><dd><code>timeout</code> - 超时时间(单位为秒),如果不设置此时间,
|
||||
则内部缺省值为30秒</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="setConnectTimeout(int)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>setConnectTimeout</h4>
|
||||
<pre>public void setConnectTimeout(int timeout)</pre>
|
||||
<div class="block">设置络连接时间</div>
|
||||
<dl><dt><span class="strong">参数:</span></dt><dd><code>timeout</code> - 超时时间(单位为秒),如果不设置此时间,
|
||||
则内部缺省值为10秒</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClient.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个类</li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClient.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClient.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,234 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClientCmdLine.NameValue</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClientCmdLine.NameValue";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.NameValue.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.NameValue.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.NameValue.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#methods_inherited_from_class_java.lang.Object">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li>方法</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClientCmdLine.NameValue" class="title">类 GidClientCmdLine.NameValue</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClientCmdLine.NameValue</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<dl>
|
||||
<dt>封闭类:</dt>
|
||||
<dd><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidClientCmdLine.NameValue</span>
|
||||
extends java.lang.Object</pre>
|
||||
<div class="block">name-value 对类型类</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html#GidClientCmdLine.NameValue(java.lang.String, java.lang.String)">GidClientCmdLine.NameValue</a></strong>(java.lang.String name,
|
||||
java.lang.String value)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClientCmdLine.NameValue(java.lang.String, java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClientCmdLine.NameValue</h4>
|
||||
<pre>public GidClientCmdLine.NameValue(java.lang.String name,
|
||||
java.lang.String value)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.NameValue.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.NameValue.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.NameValue.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#methods_inherited_from_class_java.lang.Object">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li>方法</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,287 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClientCmdLine.Tokens</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClientCmdLine.Tokens";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.Tokens.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.Tokens.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.Tokens.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClientCmdLine.Tokens" class="title">类 GidClientCmdLine.Tokens</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClientCmdLine.Tokens</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<dl>
|
||||
<dt>封闭类:</dt>
|
||||
<dd><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidClientCmdLine.Tokens</span>
|
||||
extends java.lang.Object</pre>
|
||||
<div class="block">拆分字符串的类,该类将“名值”对进行拆分,数据格式为:
|
||||
name1^value1|name2^value2|...</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html#GidClientCmdLine.Tokens(java.lang.String)">GidClientCmdLine.Tokens</a></strong>(java.lang.String content)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html#getInt(java.lang.String)">getInt</a></strong>(java.lang.String name)</code> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html#getLong(java.lang.String)">getLong</a></strong>(java.lang.String name)</code> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>java.lang.String</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html#getString(java.lang.String)">getString</a></strong>(java.lang.String name)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClientCmdLine.Tokens(java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClientCmdLine.Tokens</h4>
|
||||
<pre>public GidClientCmdLine.Tokens(java.lang.String content)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="getString(java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getString</h4>
|
||||
<pre>public java.lang.String getString(java.lang.String name)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="getLong(java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getLong</h4>
|
||||
<pre>public long getLong(java.lang.String name)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="getInt(java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>getInt</h4>
|
||||
<pre>public int getInt(java.lang.String name)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.Tokens.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.Tokens.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.Tokens.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
324
app/gid/gid_client/java/doc/com/iker/gid/GidClientCmdLine.html
Normal file
324
app/gid/gid_client/java/doc/com/iker/gid/GidClientCmdLine.html
Normal file
@ -0,0 +1,324 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClientCmdLine</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClientCmdLine";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li><a href="#nested_class_summary">嵌套</a> | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClientCmdLine" class="title">类 GidClientCmdLine</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">com.iker.gid.GidClient</a></li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClientCmdLine</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidClientCmdLine</span>
|
||||
extends <a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></pre>
|
||||
<div class="block">命令行方式从GID服务器取得唯一ID号,是否应该使用该方式取得唯一ID号,
|
||||
应该取决于服务器的配置选项</div>
|
||||
<dl><dt><span class="strong">作者:</span></dt>
|
||||
<dd>zsx</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="nested_class_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>嵌套类概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="嵌套类概要表, 列表嵌套类和解释">
|
||||
<caption><span>嵌套类</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">类和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>class </code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类">GidClientCmdLine.NameValue</a></strong></code>
|
||||
<div class="block">name-value 对类型类</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>class </code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">GidClientCmdLine.Tokens</a></strong></code>
|
||||
<div class="block">拆分字符串的类,该类将“名值”对进行拆分,数据格式为:
|
||||
name1^value1|name2^value2|...</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.html#GidClientCmdLine(java.lang.String, int, java.lang.String)">GidClientCmdLine</a></strong>(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.html#gidNext()">gidNext</a></strong>()</code>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static void</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientCmdLine.html#main(java.lang.String[])">main</a></strong>(java.lang.String[] args)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_com.iker.gid.GidClient">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 com.iker.gid.<a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></h3>
|
||||
<code><a href="../../../com/iker/gid/GidClient.html#setConnectTimeout(int)">setConnectTimeout</a>, <a href="../../../com/iker/gid/GidClient.html#setRdTimeout(int)">setRdTimeout</a></code></li>
|
||||
</ul>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClientCmdLine(java.lang.String, int, java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClientCmdLine</h4>
|
||||
<pre>public GidClientCmdLine(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="gidNext()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidNext</h4>
|
||||
<pre>public long gidNext()</pre>
|
||||
<div class="block"><strong>从类复制的说明: <code><a href="../../../com/iker/gid/GidClient.html#gidNext()">GidClient</a></code></strong></div>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
<dl>
|
||||
<dt><strong>指定者:</strong></dt>
|
||||
<dd><code><a href="../../../com/iker/gid/GidClient.html#gidNext()">gidNext</a></code> 在类中 <code><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></code></dd>
|
||||
<dt><span class="strong">返回:</span></dt><dd>返回唯一的64位整数,如果返回值 < 0 则表示出错</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="main(java.lang.String[])">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>main</h4>
|
||||
<pre>public static void main(java.lang.String[] args)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientCmdLine.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientCmdLine.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li><a href="#nested_class_summary">嵌套</a> | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
296
app/gid/gid_client/java/doc/com/iker/gid/GidClientJson.html
Normal file
296
app/gid/gid_client/java/doc/com/iker/gid/GidClientJson.html
Normal file
@ -0,0 +1,296 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClientJson</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClientJson";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientJson.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientJson.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientJson.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClientJson" class="title">类 GidClientJson</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">com.iker.gid.GidClient</a></li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClientJson</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidClientJson</span>
|
||||
extends <a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></pre>
|
||||
<div class="block">按 JSON 数据格式获得GID,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
<dl><dt><span class="strong">作者:</span></dt>
|
||||
<dd>zsx</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClientJson.html#GidClientJson(java.lang.String, int, java.lang.String)">GidClientJson</a></strong>(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientJson.html#gidNext()">gidNext</a></strong>()</code>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static void</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientJson.html#main(java.lang.String[])">main</a></strong>(java.lang.String[] args)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_com.iker.gid.GidClient">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 com.iker.gid.<a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></h3>
|
||||
<code><a href="../../../com/iker/gid/GidClient.html#setConnectTimeout(int)">setConnectTimeout</a>, <a href="../../../com/iker/gid/GidClient.html#setRdTimeout(int)">setRdTimeout</a></code></li>
|
||||
</ul>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClientJson(java.lang.String, int, java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClientJson</h4>
|
||||
<pre>public GidClientJson(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="gidNext()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidNext</h4>
|
||||
<pre>public long gidNext()</pre>
|
||||
<div class="block"><strong>从类复制的说明: <code><a href="../../../com/iker/gid/GidClient.html#gidNext()">GidClient</a></code></strong></div>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
<dl>
|
||||
<dt><strong>指定者:</strong></dt>
|
||||
<dd><code><a href="../../../com/iker/gid/GidClient.html#gidNext()">gidNext</a></code> 在类中 <code><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></code></dd>
|
||||
<dt><span class="strong">返回:</span></dt><dd>返回唯一的64位整数,如果返回值 < 0 则表示出错</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="main(java.lang.String[])">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>main</h4>
|
||||
<pre>public static void main(java.lang.String[] args)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientJson.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientJson.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientJson.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
296
app/gid/gid_client/java/doc/com/iker/gid/GidClientXml.html
Normal file
296
app/gid/gid_client/java/doc/com/iker/gid/GidClientXml.html
Normal file
@ -0,0 +1,296 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidClientXml</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidClientXml";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientXml.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientXml.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientXml.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidClientXml" class="title">类 GidClientXml</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">com.iker.gid.GidClient</a></li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidClientXml</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidClientXml</span>
|
||||
extends <a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></pre>
|
||||
<div class="block">按XML格式获得GID数据,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
<dl><dt><span class="strong">作者:</span></dt>
|
||||
<dd>zsx</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidClientXml.html#GidClientXml(java.lang.String, int, java.lang.String)">GidClientXml</a></strong>(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientXml.html#gidNext()">gidNext</a></strong>()</code>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static void</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidClientXml.html#main(java.lang.String[])">main</a></strong>(java.lang.String[] args)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_com.iker.gid.GidClient">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 com.iker.gid.<a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></h3>
|
||||
<code><a href="../../../com/iker/gid/GidClient.html#setConnectTimeout(int)">setConnectTimeout</a>, <a href="../../../com/iker/gid/GidClient.html#setRdTimeout(int)">setRdTimeout</a></code></li>
|
||||
</ul>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidClientXml(java.lang.String, int, java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidClientXml</h4>
|
||||
<pre>public GidClientXml(java.lang.String ip,
|
||||
int port,
|
||||
java.lang.String tag)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="gidNext()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidNext</h4>
|
||||
<pre>public long gidNext()</pre>
|
||||
<div class="block"><strong>从类复制的说明: <code><a href="../../../com/iker/gid/GidClient.html#gidNext()">GidClient</a></code></strong></div>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
<dl>
|
||||
<dt><strong>指定者:</strong></dt>
|
||||
<dd><code><a href="../../../com/iker/gid/GidClient.html#gidNext()">gidNext</a></code> 在类中 <code><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></code></dd>
|
||||
<dt><span class="strong">返回:</span></dt><dd>返回唯一的64位整数,如果返回值 < 0 则表示出错</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="main(java.lang.String[])">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>main</h4>
|
||||
<pre>public static void main(java.lang.String[] args)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidClientXml.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li><a href="../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类"><span class="strong">下一个类</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidClientXml.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientXml.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
412
app/gid/gid_client/java/doc/com/iker/gid/GidStatus.html
Normal file
412
app/gid/gid_client/java/doc/com/iker/gid/GidStatus.html
Normal file
@ -0,0 +1,412 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>GidStatus</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="GidStatus";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidStatus.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li>下一个类</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidStatus.html" target="_top">框架</a></li>
|
||||
<li><a href="GidStatus.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li><a href="#field_summary">字段</a> | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li><a href="#field_detail">字段</a> | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="subTitle">com.iker.gid</div>
|
||||
<h2 title="类 GidStatus" class="title">类 GidStatus</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="inheritance">
|
||||
<li>java.lang.Object</li>
|
||||
<li>
|
||||
<ul class="inheritance">
|
||||
<li>com.iker.gid.GidStatus</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public final class <span class="strong">GidStatus</span>
|
||||
extends java.lang.Object</pre>
|
||||
<dl><dt><span class="strong">作者:</span></dt>
|
||||
<dd>zsx
|
||||
该类主要定义了GID的错误号以及将错误号转为字符串描述信息的内容</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- =========== FIELD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="field_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>字段概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="字段概要表, 列表字段和解释">
|
||||
<caption><span>字段</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">字段和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrConn">gidErrConn</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrInit">gidErrInit</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrIo">gidErrIo</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrOverride">gidErrOverride</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrProto">gidErrProto</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrSave">gidErrSave</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrServer">gidErrServer</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidErrSid">gidErrSid</a></strong></code> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#gidOk">gidOk</a></strong></code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
|
||||
<caption><span>构造器</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">构造器和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><code><strong><a href="../../../com/iker/gid/GidStatus.html#GidStatus()">GidStatus</a></strong>()</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_summary">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法概要</h3>
|
||||
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
|
||||
<caption><span>方法</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">方法和说明</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static java.lang.String</code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../com/iker/gid/GidStatus.html#toString(int)">toString</a></strong>(int gidStatus)</code>
|
||||
<div class="block">将错误号转为字符串描述信息</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>从类继承的方法 java.lang.Object</h3>
|
||||
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ============ FIELD DETAIL =========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="field_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>字段详细资料</h3>
|
||||
<a name="gidOk">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidOk</h4>
|
||||
<pre>public static final int gidOk</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidOk">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrInit">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrInit</h4>
|
||||
<pre>public static final int gidErrInit</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrInit">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrConn">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrConn</h4>
|
||||
<pre>public static final int gidErrConn</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrConn">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrIo">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrIo</h4>
|
||||
<pre>public static final int gidErrIo</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrIo">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrProto">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrProto</h4>
|
||||
<pre>public static final int gidErrProto</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrProto">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrServer">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrServer</h4>
|
||||
<pre>public static final int gidErrServer</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrServer">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrSid">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrSid</h4>
|
||||
<pre>public static final int gidErrSid</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrSid">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrOverride">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>gidErrOverride</h4>
|
||||
<pre>public static final int gidErrOverride</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrOverride">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a name="gidErrSave">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>gidErrSave</h4>
|
||||
<pre>public static final int gidErrSave</pre>
|
||||
<dl><dt><span class="strong">另请参阅:</span></dt><dd><a href="../../../constant-values.html#com.iker.gid.GidStatus.gidErrSave">常量字段值</a></dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="constructor_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>构造器详细资料</h3>
|
||||
<a name="GidStatus()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>GidStatus</h4>
|
||||
<pre>public GidStatus()</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method_detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>方法详细资料</h3>
|
||||
<a name="toString(int)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>toString</h4>
|
||||
<pre>public static java.lang.String toString(int gidStatus)</pre>
|
||||
<div class="block">将错误号转为字符串描述信息</div>
|
||||
<dl><dt><span class="strong">参数:</span></dt><dd><code>gidStatus</code> - </dd>
|
||||
<dt><span class="strong">返回:</span></dt><dd>String</dd></dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li class="navBarCell1Rev">类</li>
|
||||
<li><a href="class-use/GidStatus.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">上一个类</span></a></li>
|
||||
<li>下一个类</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/GidStatus.html" target="_top">框架</a></li>
|
||||
<li><a href="GidStatus.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li><a href="#field_summary">字段</a> | </li>
|
||||
<li><a href="#constructor_summary">构造器</a> | </li>
|
||||
<li><a href="#method_summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>详细资料: </li>
|
||||
<li><a href="#field_detail">字段</a> | </li>
|
||||
<li><a href="#constructor_detail">构造器</a> | </li>
|
||||
<li><a href="#method_detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,156 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClient的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClient的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClient.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClient.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClient 的使用" class="title">类 com.iker.gid.GidClient<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="com.iker.gid">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3><a href="../../../../com/iker/gid/package-summary.html">com.iker.gid</a>中<a href="../../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a>的使用</h3>
|
||||
<table border="0" cellpadding="3" cellspacing="0" summary="使用表, 列表子类和解释">
|
||||
<caption><span><a href="../../../../com/iker/gid/package-summary.html">com.iker.gid</a>中<a href="../../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a>的子类</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th class="colLast" scope="col">类和说明</th>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>class </code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></strong></code>
|
||||
<div class="block">命令行方式从GID服务器取得唯一ID号,是否应该使用该方式取得唯一ID号,
|
||||
应该取决于服务器的配置选项</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>class </code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></strong></code>
|
||||
<div class="block">按 JSON 数据格式获得GID,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>class </code></td>
|
||||
<td class="colLast"><code><strong><a href="../../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></strong></code>
|
||||
<div class="block">按XML格式获得GID数据,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClient.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClient.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClientCmdLine.NameValue的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClientCmdLine.NameValue的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.NameValue.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.NameValue.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClientCmdLine.NameValue 的使用" class="title">类 com.iker.gid.GidClientCmdLine.NameValue<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidClientCmdLine.NameValue的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.NameValue.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.NameValue.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClientCmdLine.Tokens的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClientCmdLine.Tokens的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.Tokens.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.Tokens.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClientCmdLine.Tokens 的使用" class="title">类 com.iker.gid.GidClientCmdLine.Tokens<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidClientCmdLine.Tokens的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.Tokens.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.Tokens.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClientCmdLine的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClientCmdLine的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClientCmdLine 的使用" class="title">类 com.iker.gid.GidClientCmdLine<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidClientCmdLine的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientCmdLine.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientCmdLine.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClientJson的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClientJson的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientJson.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientJson.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClientJson 的使用" class="title">类 com.iker.gid.GidClientJson<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidClientJson的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientJson.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientJson.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidClientXml的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidClientXml的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientXml.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientXml.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidClientXml 的使用" class="title">类 com.iker.gid.GidClientXml<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidClientXml的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidClientXml.html" target="_top">框架</a></li>
|
||||
<li><a href="GidClientXml.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类 com.iker.gid.GidStatus的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类 com.iker.gid.GidStatus的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidStatus.html" target="_top">框架</a></li>
|
||||
<li><a href="GidStatus.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h2 title="类 com.iker.gid.GidStatus 的使用" class="title">类 com.iker.gid.GidStatus<br>的使用</h2>
|
||||
</div>
|
||||
<div class="classUseContainer">没有com.iker.gid.GidStatus的用法</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li><a href="../../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">类</a></li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="../package-tree.html">树</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/iker/gid/\class-useGidStatus.html" target="_top">框架</a></li>
|
||||
<li><a href="GidStatus.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
24
app/gid/gid_client/java/doc/com/iker/gid/package-frame.html
Normal file
24
app/gid/gid_client/java/doc/com/iker/gid/package-frame.html
Normal file
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>com.iker.gid</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="bar"><a href="../../../com/iker/gid/package-summary.html" target="classFrame">com.iker.gid</a></h1>
|
||||
<div class="indexContainer">
|
||||
<h2 title="类">类</h2>
|
||||
<ul title="类">
|
||||
<li><a href="GidClient.html" title="com.iker.gid中的类" target="classFrame">GidClient</a></li>
|
||||
<li><a href="GidClientCmdLine.html" title="com.iker.gid中的类" target="classFrame">GidClientCmdLine</a></li>
|
||||
<li><a href="GidClientJson.html" title="com.iker.gid中的类" target="classFrame">GidClientJson</a></li>
|
||||
<li><a href="GidClientXml.html" title="com.iker.gid中的类" target="classFrame">GidClientXml</a></li>
|
||||
<li><a href="GidStatus.html" title="com.iker.gid中的类" target="classFrame">GidStatus</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
159
app/gid/gid_client/java/doc/com/iker/gid/package-summary.html
Normal file
159
app/gid/gid_client/java/doc/com/iker/gid/package-summary.html
Normal file
@ -0,0 +1,159 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>com.iker.gid</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="com.iker.gid";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li><a href="package-use.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个程序包</li>
|
||||
<li>下一个程序包</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-summary.html" target="_top">框架</a></li>
|
||||
<li><a href="package-summary.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 title="程序包" class="title">程序包 com.iker.gid</h1>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="类概要表, 列表类和解释">
|
||||
<caption><span>类概要</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">类</th>
|
||||
<th class="colLast" scope="col">说明</th>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">抽象接口</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">命令行方式从GID服务器取得唯一ID号,是否应该使用该方式取得唯一ID号,
|
||||
应该取决于服务器的配置选项</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">按 JSON 数据格式获得GID,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">按XML格式获得GID数据,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></td>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li><a href="package-use.html">使用</a></li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个程序包</li>
|
||||
<li>下一个程序包</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-summary.html" target="_top">框架</a></li>
|
||||
<li><a href="package-summary.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
132
app/gid/gid_client/java/doc/com/iker/gid/package-tree.html
Normal file
132
app/gid/gid_client/java/doc/com/iker/gid/package-tree.html
Normal file
@ -0,0 +1,132 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>com.iker.gid 类分层结构</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="com.iker.gid 类分层结构";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li class="navBarCell1Rev">树</li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-tree.html" target="_top">框架</a></li>
|
||||
<li><a href="package-tree.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 class="title">程序包com.iker.gid的分层结构</h1>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<h2 title="类分层结构">类分层结构</h2>
|
||||
<ul>
|
||||
<li type="circle">java.lang.Object
|
||||
<ul>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClient.html" title="com.iker.gid中的类"><span class="strong">GidClient</span></a>
|
||||
<ul>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">GidClientJson</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">GidClientXml</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.NameValue</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.Tokens</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="../../../com/iker/gid/GidStatus.html" title="com.iker.gid中的类"><span class="strong">GidStatus</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li class="navBarCell1Rev">树</li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-tree.html" target="_top">框架</a></li>
|
||||
<li><a href="package-tree.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
134
app/gid/gid_client/java/doc/com/iker/gid/package-use.html
Normal file
134
app/gid/gid_client/java/doc/com/iker/gid/package-use.html
Normal file
@ -0,0 +1,134 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>程序包 com.iker.gid的使用</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="程序包 com.iker.gid的使用";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-use.html" target="_top">框架</a></li>
|
||||
<li><a href="package-use.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 title="程序包 com.iker.gid 的使用" class="title">程序包 com.iker.gid<br>的使用</h1>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="com.iker.gid">
|
||||
<!-- -->
|
||||
</a>
|
||||
<table border="0" cellpadding="3" cellspacing="0" summary="使用表, 列表类和解释">
|
||||
<caption><span><a href="../../../com/iker/gid/package-summary.html">com.iker.gid</a>使用的<a href="../../../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colOne" scope="col">类和说明</th>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr class="altColor">
|
||||
<td class="colOne"><a href="../../../com/iker/gid/class-use/GidClient.html#com.iker.gid">GidClient</a>
|
||||
<div class="block">抽象接口</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li class="navBarCell1Rev">使用</li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../../deprecated-list.html">已过时</a></li>
|
||||
<li><a href="../../../index-files/index-1.html">索引</a></li>
|
||||
<li><a href="../../../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../index.html?com/iker/gid/package-use.html" target="_top">框架</a></li>
|
||||
<li><a href="package-use.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
199
app/gid/gid_client/java/doc/constant-values.html
Normal file
199
app/gid/gid_client/java/doc/constant-values.html
Normal file
@ -0,0 +1,199 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>常量字段值</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="常量字段值";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?constant-values.html" target="_top">框架</a></li>
|
||||
<li><a href="constant-values.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 title="常量字段值" class="title">常量字段值</h1>
|
||||
<h2 title="目录">目录</h2>
|
||||
<ul>
|
||||
<li><a href="#com.iker">com.iker.*</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="constantValuesContainer"><a name="com.iker">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 title="com.iker">com.iker.*</h2>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<table border="0" cellpadding="3" cellspacing="0" summary="常量字段值表, 列表常量字段和值">
|
||||
<caption><span>com.iker.gid.<a href="com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></span><span class="tabEnd"> </span></caption>
|
||||
<tr>
|
||||
<th class="colFirst" scope="col">限定符和类型</th>
|
||||
<th scope="col">常量字段</th>
|
||||
<th class="colLast" scope="col">值</th>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrConn">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrConn">gidErrConn</a></code></td>
|
||||
<td class="colLast"><code>401</code></td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrInit">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrInit">gidErrInit</a></code></td>
|
||||
<td class="colLast"><code>400</code></td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrIo">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrIo">gidErrIo</a></code></td>
|
||||
<td class="colLast"><code>402</code></td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrOverride">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrOverride">gidErrOverride</a></code></td>
|
||||
<td class="colLast"><code>501</code></td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrProto">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrProto">gidErrProto</a></code></td>
|
||||
<td class="colLast"><code>403</code></td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrSave">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrSave">gidErrSave</a></code></td>
|
||||
<td class="colLast"><code>502</code></td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrServer">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrServer">gidErrServer</a></code></td>
|
||||
<td class="colLast"><code>404</code></td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidErrSid">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidErrSid">gidErrSid</a></code></td>
|
||||
<td class="colLast"><code>500</code></td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a name="com.iker.gid.GidStatus.gidOk">
|
||||
<!-- -->
|
||||
</a><code>public static final int</code></td>
|
||||
<td><code><a href="com/iker/gid/GidStatus.html#gidOk">gidOk</a></code></td>
|
||||
<td class="colLast"><code>200</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?constant-values.html" target="_top">框架</a></li>
|
||||
<li><a href="constant-values.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
114
app/gid/gid_client/java/doc/deprecated-list.html
Normal file
114
app/gid/gid_client/java/doc/deprecated-list.html
Normal file
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>已过时的列表</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="已过时的列表";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li class="navBarCell1Rev">已过时</li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?deprecated-list.html" target="_top">框架</a></li>
|
||||
<li><a href="deprecated-list.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 title="已过时的 API" class="title">已过时的 API</h1>
|
||||
<h2 title="目录">目录</h2>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li class="navBarCell1Rev">已过时</li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?deprecated-list.html" target="_top">框架</a></li>
|
||||
<li><a href="deprecated-list.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
215
app/gid/gid_client/java/doc/help-doc.html
Normal file
215
app/gid/gid_client/java/doc/help-doc.html
Normal file
@ -0,0 +1,215 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>API 帮助</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="API 帮助";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li class="navBarCell1Rev">帮助</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?help-doc.html" target="_top">框架</a></li>
|
||||
<li><a href="help-doc.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 class="title">此 API 文档的组织方式</h1>
|
||||
<div class="subTitle">此 API (应用程序编程接口) 文档包含对应于导航栏中的项目的页面, 如下所述。</div>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h2>程序包</h2>
|
||||
<p>每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:</p>
|
||||
<ul>
|
||||
<li>接口 (斜体)</li>
|
||||
<li>类</li>
|
||||
<li>枚举</li>
|
||||
<li>异常错误</li>
|
||||
<li>错误</li>
|
||||
<li>注释类型</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>类/接口</h2>
|
||||
<p>每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:</p>
|
||||
<ul>
|
||||
<li>类继承图</li>
|
||||
<li>直接子类</li>
|
||||
<li>所有已知子接口</li>
|
||||
<li>所有已知实现类</li>
|
||||
<li>类/接口声明</li>
|
||||
<li>类/接口说明</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>嵌套类概要</li>
|
||||
<li>字段概要</li>
|
||||
<li>构造器概要</li>
|
||||
<li>方法概要</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>字段详细资料</li>
|
||||
<li>构造器详细资料</li>
|
||||
<li>方法详细资料</li>
|
||||
</ul>
|
||||
<p>每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>注释类型</h2>
|
||||
<p>每个注释类型都有各自的页面, 其中包含以下部分:</p>
|
||||
<ul>
|
||||
<li>注释类型声明</li>
|
||||
<li>注释类型说明</li>
|
||||
<li>必需元素概要</li>
|
||||
<li>可选元素概要</li>
|
||||
<li>元素详细资料</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>枚举</h2>
|
||||
<p>每个枚举都有各自的页面, 其中包含以下部分:</p>
|
||||
<ul>
|
||||
<li>枚举声明</li>
|
||||
<li>枚举说明</li>
|
||||
<li>枚举常量概要</li>
|
||||
<li>枚举常量详细资料</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>使用</h2>
|
||||
<p>每个已文档化的程序包, 类和接口都有各自的“使用”页面。此页面介绍了使用给定类或程序包的任何部分的程序包, 类, 方法, 构造器和字段。对于给定的类或接口 A, 其“使用”页面包含 A 的子类, 声明为 A 的字段, 返回 A 的方法, 以及带有类型为 A 的参数的方法和构造器。访问此页面的方法是: 首先转至程序包, 类或接口, 然后单击导航栏中的 "使用" 链接。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>树 (类分层结构)</h2>
|
||||
<p>对于所有程序包, 有一个 <a href="overview-tree.html">类分层结构</a> 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从 <code>java.lang.Object</code> 开始, 按继承结构对类进行排列。接口不从 <code>java.lang.Object</code> 继承。</p>
|
||||
<ul>
|
||||
<li>查看“概览”页面时, 单击 "树" 将显示所有程序包的分层结构。</li>
|
||||
<li>查看特定程序包, 类或接口页面时, 单击 "树" 将仅显示该程序包的分层结构。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>已过时的 API</h2>
|
||||
<p><a href="deprecated-list.html">已过时的 API</a> 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>索引</h2>
|
||||
<p><a href="index-files/index-1.html">索引</a> 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>上一个/下一个</h2>
|
||||
<p>这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>框架/无框架</h2>
|
||||
<p>这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>所有类</h2>
|
||||
<p><a href="allclasses-noframe.html">所有类</a>链接显示所有类和接口 (除了非静态嵌套类型)。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>序列化表格</h2>
|
||||
<p>每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。</p>
|
||||
</li>
|
||||
<li class="blockList">
|
||||
<h2>常量字段值</h2>
|
||||
<p><a href="constant-values.html">常量字段值</a>页面列出了静态最终字段及其值。</p>
|
||||
</li>
|
||||
</ul>
|
||||
<em>此帮助文件适用于使用标准 doclet 生成的 API 文档。</em></div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li class="navBarCell1Rev">帮助</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?help-doc.html" target="_top">框架</a></li>
|
||||
<li><a href="help-doc.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
119
app/gid/gid_client/java/doc/index-files/index-1.html
Normal file
119
app/gid/gid_client/java/doc/index-files/index-1.html
Normal file
@ -0,0 +1,119 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>C - 索引</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="C - 索引";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个字母</li>
|
||||
<li><a href="index-2.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-1.html" target="_top">框架</a></li>
|
||||
<li><a href="index-1.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="contentContainer"><a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> <a name="_C_">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 class="title">C</h2>
|
||||
<dl>
|
||||
<dt><a href="../com/iker/gid/package-summary.html">com.iker.gid</a> - 程序包 com.iker.gid</dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
<a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个字母</li>
|
||||
<li><a href="index-2.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-1.html" target="_top">框架</a></li>
|
||||
<li><a href="index-1.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
195
app/gid/gid_client/java/doc/index-files/index-2.html
Normal file
195
app/gid/gid_client/java/doc/index-files/index-2.html
Normal file
@ -0,0 +1,195 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>G - 索引</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="G - 索引";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-1.html">上一个字母</a></li>
|
||||
<li><a href="index-3.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-2.html" target="_top">框架</a></li>
|
||||
<li><a href="index-2.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="contentContainer"><a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> <a name="_G_">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 class="title">G</h2>
|
||||
<dl>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.Tokens.html#getInt(java.lang.String)">getInt(String)</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">GidClientCmdLine.Tokens</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.Tokens.html#getLong(java.lang.String)">getLong(String)</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">GidClientCmdLine.Tokens</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.Tokens.html#getString(java.lang.String)">getString(String)</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">GidClientCmdLine.Tokens</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClient.html" title="com.iker.gid中的类"><span class="strong">GidClient</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">抽象接口</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClient.html#GidClient(java.lang.String, int, java.lang.String)">GidClient(String, int, String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">命令行方式从GID服务器取得唯一ID号,是否应该使用该方式取得唯一ID号,
|
||||
应该取决于服务器的配置选项</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.html#GidClientCmdLine(java.lang.String, int, java.lang.String)">GidClientCmdLine(String, int, String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.NameValue</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">name-value 对类型类</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.NameValue.html#GidClientCmdLine.NameValue(java.lang.String, java.lang.String)">GidClientCmdLine.NameValue(String, String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类">GidClientCmdLine.NameValue</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.Tokens</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">拆分字符串的类,该类将“名值”对进行拆分,数据格式为:
|
||||
name1^value1|name2^value2|...</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.Tokens.html#GidClientCmdLine.Tokens(java.lang.String)">GidClientCmdLine.Tokens(String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类">GidClientCmdLine.Tokens</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">GidClientJson</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">按 JSON 数据格式获得GID,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientJson.html#GidClientJson(java.lang.String, int, java.lang.String)">GidClientJson(String, int, String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">GidClientXml</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd>
|
||||
<div class="block">按XML格式获得GID数据,若要使用此方式取得唯一ID,则服务器
|
||||
必须是启用了HTTP协议访问方式</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientXml.html#GidClientXml(java.lang.String, int, java.lang.String)">GidClientXml(String, int, String)</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrConn">gidErrConn</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrInit">gidErrInit</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrIo">gidErrIo</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrOverride">gidErrOverride</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrProto">gidErrProto</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrSave">gidErrSave</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrServer">gidErrServer</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidErrSid">gidErrSid</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClient.html#gidNext()">gidNext()</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></dt>
|
||||
<dd>
|
||||
<div class="block">获得下一个唯一ID号</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.html#gidNext()">gidNext()</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientJson.html#gidNext()">gidNext()</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientXml.html#gidNext()">gidNext()</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#gidOk">gidOk</a></span> - 类 中的静态变量com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类"><span class="strong">GidStatus</span></a> - <a href="../com/iker/gid/package-summary.html">com.iker.gid</a>中的类</dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#GidStatus()">GidStatus()</a></span> - 类 的构造器com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
<a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-1.html">上一个字母</a></li>
|
||||
<li><a href="index-3.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-2.html" target="_top">框架</a></li>
|
||||
<li><a href="index-2.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
123
app/gid/gid_client/java/doc/index-files/index-3.html
Normal file
123
app/gid/gid_client/java/doc/index-files/index-3.html
Normal file
@ -0,0 +1,123 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>M - 索引</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="M - 索引";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-2.html">上一个字母</a></li>
|
||||
<li><a href="index-4.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-3.html" target="_top">框架</a></li>
|
||||
<li><a href="index-3.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="contentContainer"><a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> <a name="_M_">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 class="title">M</h2>
|
||||
<dl>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientCmdLine.html#main(java.lang.String[])">main(String[])</a></span> - 类 中的静态方法com.iker.gid.<a href="../com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类">GidClientCmdLine</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientJson.html#main(java.lang.String[])">main(String[])</a></span> - 类 中的静态方法com.iker.gid.<a href="../com/iker/gid/GidClientJson.html" title="com.iker.gid中的类">GidClientJson</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClientXml.html#main(java.lang.String[])">main(String[])</a></span> - 类 中的静态方法com.iker.gid.<a href="../com/iker/gid/GidClientXml.html" title="com.iker.gid中的类">GidClientXml</a></dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
<a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-2.html">上一个字母</a></li>
|
||||
<li><a href="index-4.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-3.html" target="_top">框架</a></li>
|
||||
<li><a href="index-3.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
125
app/gid/gid_client/java/doc/index-files/index-4.html
Normal file
125
app/gid/gid_client/java/doc/index-files/index-4.html
Normal file
@ -0,0 +1,125 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>S - 索引</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="S - 索引";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-3.html">上一个字母</a></li>
|
||||
<li><a href="index-5.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-4.html" target="_top">框架</a></li>
|
||||
<li><a href="index-4.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="contentContainer"><a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> <a name="_S_">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 class="title">S</h2>
|
||||
<dl>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClient.html#setConnectTimeout(int)">setConnectTimeout(int)</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></dt>
|
||||
<dd>
|
||||
<div class="block">设置络连接时间</div>
|
||||
</dd>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidClient.html#setRdTimeout(int)">setRdTimeout(int)</a></span> - 类 中的方法com.iker.gid.<a href="../com/iker/gid/GidClient.html" title="com.iker.gid中的类">GidClient</a></dt>
|
||||
<dd>
|
||||
<div class="block">设置IO读超时时间</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-3.html">上一个字母</a></li>
|
||||
<li><a href="index-5.html">下一个字母</a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-4.html" target="_top">框架</a></li>
|
||||
<li><a href="index-4.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
121
app/gid/gid_client/java/doc/index-files/index-5.html
Normal file
121
app/gid/gid_client/java/doc/index-files/index-5.html
Normal file
@ -0,0 +1,121 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>T - 索引</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="T - 索引";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-4.html">上一个字母</a></li>
|
||||
<li>下一个字母</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-5.html" target="_top">框架</a></li>
|
||||
<li><a href="index-5.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="contentContainer"><a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> <a name="_T_">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h2 class="title">T</h2>
|
||||
<dl>
|
||||
<dt><span class="strong"><a href="../com/iker/gid/GidStatus.html#toString(int)">toString(int)</a></span> - 类 中的静态方法com.iker.gid.<a href="../com/iker/gid/GidStatus.html" title="com.iker.gid中的类">GidStatus</a></dt>
|
||||
<dd>
|
||||
<div class="block">将错误号转为字符串描述信息</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<a href="index-1.html">C</a> <a href="index-2.html">G</a> <a href="index-3.html">M</a> <a href="index-4.html">S</a> <a href="index-5.html">T</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li><a href="../com/iker/gid/package-tree.html">树</a></li>
|
||||
<li><a href="../deprecated-list.html">已过时</a></li>
|
||||
<li class="navBarCell1Rev">索引</li>
|
||||
<li><a href="../help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="index-4.html">上一个字母</a></li>
|
||||
<li>下一个字母</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../index.html?index-filesindex-5.html" target="_top">框架</a></li>
|
||||
<li><a href="index-5.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
31
app/gid/gid_client/java/doc/index.html
Normal file
31
app/gid/gid_client/java/doc/index.html
Normal file
@ -0,0 +1,31 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>生成的文档 (无标题)</title>
|
||||
<script type="text/javascript">
|
||||
targetPage = "" + window.location.search;
|
||||
if (targetPage != "" && targetPage != "undefined")
|
||||
targetPage = targetPage.substring(1);
|
||||
if (targetPage.indexOf(":") != -1)
|
||||
targetPage = "undefined";
|
||||
function loadFrames() {
|
||||
if (targetPage != "" && targetPage != "undefined")
|
||||
top.classFrame.location = top.targetPage;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
|
||||
<frame src="allclasses-frame.html" name="packageFrame" title="所有类和接口 (除了非静态嵌套类型)">
|
||||
<frame src="com/iker/gid/package-summary.html" name="classFrame" title="程序包, 类和接口说明" scrolling="yes">
|
||||
<noframes>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<h2>框架预警</h2>
|
||||
<p>请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到<a href="com/iker/gid/package-summary.html">非框架版本</a>。</p>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</html>
|
136
app/gid/gid_client/java/doc/overview-tree.html
Normal file
136
app/gid/gid_client/java/doc/overview-tree.html
Normal file
@ -0,0 +1,136 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!-- NewPage -->
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (version 1.7.0) on Fri Dec 02 10:32:23 CST 2011 -->
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
|
||||
<title>类分层结构</title>
|
||||
<meta name="date" content="2011-12-02">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="类分层结构";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a name="navbar_top">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_top" title="跳过导航链接"></a><a name="navbar_top_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li class="navBarCell1Rev">树</li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?overview-tree.html" target="_top">框架</a></li>
|
||||
<li><a href="overview-tree.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<div class="header">
|
||||
<h1 class="title">所有程序包的分层结构</h1>
|
||||
<span class="strong">程序包分层结构:</span>
|
||||
<ul class="horizontal">
|
||||
<li><a href="com/iker/gid/package-tree.html">com.iker.gid</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<h2 title="类分层结构">类分层结构</h2>
|
||||
<ul>
|
||||
<li type="circle">java.lang.Object
|
||||
<ul>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClient.html" title="com.iker.gid中的类"><span class="strong">GidClient</span></a>
|
||||
<ul>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClientCmdLine.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClientJson.html" title="com.iker.gid中的类"><span class="strong">GidClientJson</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClientXml.html" title="com.iker.gid中的类"><span class="strong">GidClientXml</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClientCmdLine.NameValue.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.NameValue</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidClientCmdLine.Tokens.html" title="com.iker.gid中的类"><span class="strong">GidClientCmdLine.Tokens</span></a></li>
|
||||
<li type="circle">com.iker.gid.<a href="com/iker/gid/GidStatus.html" title="com.iker.gid中的类"><span class="strong">GidStatus</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a name="navbar_bottom">
|
||||
<!-- -->
|
||||
</a><a href="#skip-navbar_bottom" title="跳过导航链接"></a><a name="navbar_bottom_firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="com/iker/gid/package-summary.html">程序包</a></li>
|
||||
<li>类</li>
|
||||
<li>使用</li>
|
||||
<li class="navBarCell1Rev">树</li>
|
||||
<li><a href="deprecated-list.html">已过时</a></li>
|
||||
<li><a href="index-files/index-1.html">索引</a></li>
|
||||
<li><a href="help-doc.html">帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li>上一个</li>
|
||||
<li>下一个</li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="index.html?overview-tree.html" target="_top">框架</a></li>
|
||||
<li><a href="overview-tree.html" target="_top">无框架</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="allclasses-noframe.html">所有类</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</div>
|
||||
<a name="skip-navbar_bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
1
app/gid/gid_client/java/doc/package-list
Normal file
1
app/gid/gid_client/java/doc/package-list
Normal file
@ -0,0 +1 @@
|
||||
com.iker.gid
|
BIN
app/gid/gid_client/java/doc/resources/background.gif
Normal file
BIN
app/gid/gid_client/java/doc/resources/background.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
BIN
app/gid/gid_client/java/doc/resources/tab.gif
Normal file
BIN
app/gid/gid_client/java/doc/resources/tab.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 291 B |
BIN
app/gid/gid_client/java/doc/resources/titlebar.gif
Normal file
BIN
app/gid/gid_client/java/doc/resources/titlebar.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
app/gid/gid_client/java/doc/resources/titlebar_end.gif
Normal file
BIN
app/gid/gid_client/java/doc/resources/titlebar_end.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 849 B |
474
app/gid/gid_client/java/doc/stylesheet.css
Normal file
474
app/gid/gid_client/java/doc/stylesheet.css
Normal file
@ -0,0 +1,474 @@
|
||||
/* Javadoc style sheet */
|
||||
/*
|
||||
Overall document style
|
||||
*/
|
||||
body {
|
||||
background-color:#ffffff;
|
||||
color:#353833;
|
||||
font-family:Arial, Helvetica, sans-serif;
|
||||
font-size:76%;
|
||||
margin:0;
|
||||
}
|
||||
a:link, a:visited {
|
||||
text-decoration:none;
|
||||
color:#4c6b87;
|
||||
}
|
||||
a:hover, a:focus {
|
||||
text-decoration:none;
|
||||
color:#bb7a2a;
|
||||
}
|
||||
a:active {
|
||||
text-decoration:none;
|
||||
color:#4c6b87;
|
||||
}
|
||||
a[name] {
|
||||
color:#353833;
|
||||
}
|
||||
a[name]:hover {
|
||||
text-decoration:none;
|
||||
color:#353833;
|
||||
}
|
||||
pre {
|
||||
font-size:1.3em;
|
||||
}
|
||||
h1 {
|
||||
font-size:1.8em;
|
||||
}
|
||||
h2 {
|
||||
font-size:1.5em;
|
||||
}
|
||||
h3 {
|
||||
font-size:1.4em;
|
||||
}
|
||||
h4 {
|
||||
font-size:1.3em;
|
||||
}
|
||||
h5 {
|
||||
font-size:1.2em;
|
||||
}
|
||||
h6 {
|
||||
font-size:1.1em;
|
||||
}
|
||||
ul {
|
||||
list-style-type:disc;
|
||||
}
|
||||
code, tt {
|
||||
font-size:1.2em;
|
||||
}
|
||||
dt code {
|
||||
font-size:1.2em;
|
||||
}
|
||||
table tr td dt code {
|
||||
font-size:1.2em;
|
||||
vertical-align:top;
|
||||
}
|
||||
sup {
|
||||
font-size:.6em;
|
||||
}
|
||||
/*
|
||||
Document title and Copyright styles
|
||||
*/
|
||||
.clear {
|
||||
clear:both;
|
||||
height:0px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.aboutLanguage {
|
||||
float:right;
|
||||
padding:0px 21px;
|
||||
font-size:.8em;
|
||||
z-index:200;
|
||||
margin-top:-7px;
|
||||
}
|
||||
.legalCopy {
|
||||
margin-left:.5em;
|
||||
}
|
||||
.bar a, .bar a:link, .bar a:visited, .bar a:active {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
}
|
||||
.bar a:hover, .bar a:focus {
|
||||
color:#bb7a2a;
|
||||
}
|
||||
.tab {
|
||||
background-color:#0066FF;
|
||||
background-image:url(resources/titlebar.gif);
|
||||
background-position:left top;
|
||||
background-repeat:no-repeat;
|
||||
color:#ffffff;
|
||||
padding:8px;
|
||||
width:5em;
|
||||
font-weight:bold;
|
||||
}
|
||||
/*
|
||||
Navigation bar styles
|
||||
*/
|
||||
.bar {
|
||||
background-image:url(resources/background.gif);
|
||||
background-repeat:repeat-x;
|
||||
color:#FFFFFF;
|
||||
padding:.8em .5em .4em .8em;
|
||||
height:auto;/*height:1.8em;*/
|
||||
font-size:1em;
|
||||
margin:0;
|
||||
}
|
||||
.topNav {
|
||||
background-image:url(resources/background.gif);
|
||||
background-repeat:repeat-x;
|
||||
color:#FFFFFF;
|
||||
float:left;
|
||||
padding:0;
|
||||
width:100%;
|
||||
clear:right;
|
||||
height:2.8em;
|
||||
padding-top:10px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.bottomNav {
|
||||
margin-top:10px;
|
||||
background-image:url(resources/background.gif);
|
||||
background-repeat:repeat-x;
|
||||
color:#FFFFFF;
|
||||
float:left;
|
||||
padding:0;
|
||||
width:100%;
|
||||
clear:right;
|
||||
height:2.8em;
|
||||
padding-top:10px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.subNav {
|
||||
background-color:#dee3e9;
|
||||
border-bottom:1px solid #9eadc0;
|
||||
float:left;
|
||||
width:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
.subNav div {
|
||||
clear:left;
|
||||
float:left;
|
||||
padding:0 0 5px 6px;
|
||||
}
|
||||
ul.navList, ul.subNavList {
|
||||
float:left;
|
||||
margin:0 25px 0 0;
|
||||
padding:0;
|
||||
}
|
||||
ul.navList li{
|
||||
list-style:none;
|
||||
float:left;
|
||||
padding:3px 6px;
|
||||
}
|
||||
ul.subNavList li{
|
||||
list-style:none;
|
||||
float:left;
|
||||
font-size:90%;
|
||||
}
|
||||
.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
|
||||
color:#FFFFFF;
|
||||
text-decoration:none;
|
||||
}
|
||||
.topNav a:hover, .bottomNav a:hover {
|
||||
text-decoration:none;
|
||||
color:#bb7a2a;
|
||||
}
|
||||
.navBarCell1Rev {
|
||||
background-image:url(resources/tab.gif);
|
||||
background-color:#a88834;
|
||||
color:#FFFFFF;
|
||||
margin: auto 5px;
|
||||
border:1px solid #c9aa44;
|
||||
}
|
||||
/*
|
||||
Page header and footer styles
|
||||
*/
|
||||
.header, .footer {
|
||||
clear:both;
|
||||
margin:0 20px;
|
||||
padding:5px 0 0 0;
|
||||
}
|
||||
.indexHeader {
|
||||
margin:10px;
|
||||
position:relative;
|
||||
}
|
||||
.indexHeader h1 {
|
||||
font-size:1.3em;
|
||||
}
|
||||
.title {
|
||||
color:#2c4557;
|
||||
margin:10px 0;
|
||||
}
|
||||
.subTitle {
|
||||
margin:5px 0 0 0;
|
||||
}
|
||||
.header ul {
|
||||
margin:0 0 25px 0;
|
||||
padding:0;
|
||||
}
|
||||
.footer ul {
|
||||
margin:20px 0 5px 0;
|
||||
}
|
||||
.header ul li, .footer ul li {
|
||||
list-style:none;
|
||||
font-size:1.2em;
|
||||
}
|
||||
/*
|
||||
Heading styles
|
||||
*/
|
||||
div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
|
||||
background-color:#dee3e9;
|
||||
border-top:1px solid #9eadc0;
|
||||
border-bottom:1px solid #9eadc0;
|
||||
margin:0 0 6px -8px;
|
||||
padding:2px 5px;
|
||||
}
|
||||
ul.blockList ul.blockList ul.blockList li.blockList h3 {
|
||||
background-color:#dee3e9;
|
||||
border-top:1px solid #9eadc0;
|
||||
border-bottom:1px solid #9eadc0;
|
||||
margin:0 0 6px -8px;
|
||||
padding:2px 5px;
|
||||
}
|
||||
ul.blockList ul.blockList li.blockList h3 {
|
||||
padding:0;
|
||||
margin:15px 0;
|
||||
}
|
||||
ul.blockList li.blockList h2 {
|
||||
padding:0px 0 20px 0;
|
||||
}
|
||||
/*
|
||||
Page layout container styles
|
||||
*/
|
||||
.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
|
||||
clear:both;
|
||||
padding:10px 20px;
|
||||
position:relative;
|
||||
}
|
||||
.indexContainer {
|
||||
margin:10px;
|
||||
position:relative;
|
||||
font-size:1.0em;
|
||||
}
|
||||
.indexContainer h2 {
|
||||
font-size:1.1em;
|
||||
padding:0 0 3px 0;
|
||||
}
|
||||
.indexContainer ul {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
.indexContainer ul li {
|
||||
list-style:none;
|
||||
}
|
||||
.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
|
||||
font-size:1.1em;
|
||||
font-weight:bold;
|
||||
margin:10px 0 0 0;
|
||||
color:#4E4E4E;
|
||||
}
|
||||
.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
|
||||
margin:10px 0 10px 20px;
|
||||
}
|
||||
.serializedFormContainer dl.nameValue dt {
|
||||
margin-left:1px;
|
||||
font-size:1.1em;
|
||||
display:inline;
|
||||
font-weight:bold;
|
||||
}
|
||||
.serializedFormContainer dl.nameValue dd {
|
||||
margin:0 0 0 1px;
|
||||
font-size:1.1em;
|
||||
display:inline;
|
||||
}
|
||||
/*
|
||||
List styles
|
||||
*/
|
||||
ul.horizontal li {
|
||||
display:inline;
|
||||
font-size:0.9em;
|
||||
}
|
||||
ul.inheritance {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
ul.inheritance li {
|
||||
display:inline;
|
||||
list-style:none;
|
||||
}
|
||||
ul.inheritance li ul.inheritance {
|
||||
margin-left:15px;
|
||||
padding-left:15px;
|
||||
padding-top:1px;
|
||||
}
|
||||
ul.blockList, ul.blockListLast {
|
||||
margin:10px 0 10px 0;
|
||||
padding:0;
|
||||
}
|
||||
ul.blockList li.blockList, ul.blockListLast li.blockList {
|
||||
list-style:none;
|
||||
margin-bottom:25px;
|
||||
}
|
||||
ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
|
||||
padding:0px 20px 5px 10px;
|
||||
border:1px solid #9eadc0;
|
||||
background-color:#f9f9f9;
|
||||
}
|
||||
ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
|
||||
padding:0 0 5px 8px;
|
||||
background-color:#ffffff;
|
||||
border:1px solid #9eadc0;
|
||||
border-top:none;
|
||||
}
|
||||
ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
|
||||
margin-left:0;
|
||||
padding-left:0;
|
||||
padding-bottom:15px;
|
||||
border:none;
|
||||
border-bottom:1px solid #9eadc0;
|
||||
}
|
||||
ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
|
||||
list-style:none;
|
||||
border-bottom:none;
|
||||
padding-bottom:0;
|
||||
}
|
||||
table tr td dl, table tr td dl dt, table tr td dl dd {
|
||||
margin-top:0;
|
||||
margin-bottom:1px;
|
||||
}
|
||||
/*
|
||||
Table styles
|
||||
*/
|
||||
.contentContainer table, .classUseContainer table, .constantValuesContainer table {
|
||||
border-bottom:1px solid #9eadc0;
|
||||
width:100%;
|
||||
}
|
||||
.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table {
|
||||
width:100%;
|
||||
}
|
||||
.contentContainer .description table, .contentContainer .details table {
|
||||
border-bottom:none;
|
||||
}
|
||||
.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{
|
||||
vertical-align:top;
|
||||
padding-right:20px;
|
||||
}
|
||||
.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast,
|
||||
.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast,
|
||||
.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne,
|
||||
.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne {
|
||||
padding-right:3px;
|
||||
}
|
||||
.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption {
|
||||
position:relative;
|
||||
text-align:left;
|
||||
background-repeat:no-repeat;
|
||||
color:#FFFFFF;
|
||||
font-weight:bold;
|
||||
clear:none;
|
||||
overflow:hidden;
|
||||
padding:0px;
|
||||
margin:0px;
|
||||
}
|
||||
caption a:link, caption a:hover, caption a:active, caption a:visited {
|
||||
color:#FFFFFF;
|
||||
}
|
||||
.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span {
|
||||
white-space:nowrap;
|
||||
padding-top:8px;
|
||||
padding-left:8px;
|
||||
display:block;
|
||||
float:left;
|
||||
background-image:url(resources/titlebar.gif);
|
||||
height:18px;
|
||||
}
|
||||
.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd {
|
||||
width:10px;
|
||||
background-image:url(resources/titlebar_end.gif);
|
||||
background-repeat:no-repeat;
|
||||
background-position:top right;
|
||||
position:relative;
|
||||
float:left;
|
||||
}
|
||||
ul.blockList ul.blockList li.blockList table {
|
||||
margin:0 0 12px 0px;
|
||||
width:100%;
|
||||
}
|
||||
.tableSubHeadingColor {
|
||||
background-color: #EEEEFF;
|
||||
}
|
||||
.altColor {
|
||||
background-color:#eeeeef;
|
||||
}
|
||||
.rowColor {
|
||||
background-color:#ffffff;
|
||||
}
|
||||
.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td {
|
||||
text-align:left;
|
||||
padding:3px 3px 3px 7px;
|
||||
}
|
||||
th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
|
||||
background:#dee3e9;
|
||||
border-top:1px solid #9eadc0;
|
||||
border-bottom:1px solid #9eadc0;
|
||||
text-align:left;
|
||||
padding:3px 3px 3px 7px;
|
||||
}
|
||||
td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
|
||||
font-weight:bold;
|
||||
}
|
||||
td.colFirst, th.colFirst {
|
||||
border-left:1px solid #9eadc0;
|
||||
white-space:nowrap;
|
||||
}
|
||||
td.colLast, th.colLast {
|
||||
border-right:1px solid #9eadc0;
|
||||
}
|
||||
td.colOne, th.colOne {
|
||||
border-right:1px solid #9eadc0;
|
||||
border-left:1px solid #9eadc0;
|
||||
}
|
||||
table.overviewSummary {
|
||||
padding:0px;
|
||||
margin-left:0px;
|
||||
}
|
||||
table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
|
||||
table.overviewSummary td.colOne, table.overviewSummary th.colOne {
|
||||
width:25%;
|
||||
vertical-align:middle;
|
||||
}
|
||||
table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
|
||||
width:25%;
|
||||
vertical-align:middle;
|
||||
}
|
||||
/*
|
||||
Content styles
|
||||
*/
|
||||
.description pre {
|
||||
margin-top:0;
|
||||
}
|
||||
.deprecatedContent {
|
||||
margin:0;
|
||||
padding:10px 0;
|
||||
}
|
||||
.docSummary {
|
||||
padding:0;
|
||||
}
|
||||
/*
|
||||
Formatting effect styles
|
||||
*/
|
||||
.sourceLineNo {
|
||||
color:green;
|
||||
padding:0 30px 0 0;
|
||||
}
|
||||
h1.hidden {
|
||||
visibility:hidden;
|
||||
overflow:hidden;
|
||||
font-size:.9em;
|
||||
}
|
||||
.block {
|
||||
display:block;
|
||||
margin:3px 0 0 0;
|
||||
}
|
||||
.strong {
|
||||
font-weight:bold;
|
||||
}
|
BIN
app/gid/gid_client/java/jar/commons-beanutils-1.8.3.jar
Normal file
BIN
app/gid/gid_client/java/jar/commons-beanutils-1.8.3.jar
Normal file
Binary file not shown.
BIN
app/gid/gid_client/java/jar/commons-collections-3.2.1.jar
Normal file
BIN
app/gid/gid_client/java/jar/commons-collections-3.2.1.jar
Normal file
Binary file not shown.
BIN
app/gid/gid_client/java/jar/commons-lang-2.6.jar
Normal file
BIN
app/gid/gid_client/java/jar/commons-lang-2.6.jar
Normal file
Binary file not shown.
BIN
app/gid/gid_client/java/jar/commons-logging-1.1.1.jar
Normal file
BIN
app/gid/gid_client/java/jar/commons-logging-1.1.1.jar
Normal file
Binary file not shown.
BIN
app/gid/gid_client/java/jar/ezmorph-1.0.6.jar
Normal file
BIN
app/gid/gid_client/java/jar/ezmorph-1.0.6.jar
Normal file
Binary file not shown.
BIN
app/gid/gid_client/java/jar/json-lib-2.4-jdk15.jar
Normal file
BIN
app/gid/gid_client/java/jar/json-lib-2.4-jdk15.jar
Normal file
Binary file not shown.
125
app/gid/gid_client/java/src/com/iker/gid/GidClient.java
Normal file
125
app/gid/gid_client/java/src/com/iker/gid/GidClient.java
Normal file
@ -0,0 +1,125 @@
|
||||
package com.iker.gid;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.Socket;
|
||||
import java.net.SocketAddress;
|
||||
import java.net.URL;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
/**
|
||||
* 抽象接口
|
||||
* @author zsx
|
||||
*
|
||||
*/
|
||||
public abstract class GidClient {
|
||||
protected int errnum = 0;
|
||||
protected String serverIp = "192.168.1.251";
|
||||
protected int serverPort = 7072;
|
||||
protected String tagName = "default";
|
||||
protected int connTimeout = 10000; /* 连接超时时间为10秒 */
|
||||
protected int rdTimeout = 30000; /* 读超时时间为30秒 */
|
||||
|
||||
public GidClient(String ip, int port, String tag)
|
||||
{
|
||||
if (ip.isEmpty() == false)
|
||||
this.serverIp = ip;
|
||||
if (port > 0)
|
||||
this.serverPort = port;
|
||||
if (tag != "")
|
||||
this.tagName = tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得下一个唯一ID号
|
||||
* @return 返回唯一的64位整数,如果返回值 < 0 则表示出错
|
||||
*/
|
||||
abstract public long gidNext();
|
||||
|
||||
protected HttpURLConnection OpenUrl(String gidFmt)
|
||||
{
|
||||
String urlAddr = "http://" + serverIp + ":" + serverPort + "/";
|
||||
HttpURLConnection urlConnection = null;
|
||||
|
||||
try {
|
||||
URL url = new URL(urlAddr);
|
||||
urlConnection = (HttpURLConnection) url.openConnection();
|
||||
urlConnection.setConnectTimeout(connTimeout);
|
||||
urlConnection.setReadTimeout(rdTimeout);
|
||||
|
||||
// 设置是否从httpUrlConnection读入,默认情况下是true;
|
||||
urlConnection.setDoInput(true);
|
||||
|
||||
// 设置是否向httpUrlConnection输出,因为这个是post请求,
|
||||
// 参数要放在 http正文内,因此需要设为true, 默认情况下是false;
|
||||
urlConnection.setDoOutput(true);
|
||||
|
||||
// 设置为 POST 请求方式
|
||||
urlConnection.setRequestMethod("POST");
|
||||
|
||||
// Post 请求不能使用缓存
|
||||
urlConnection.setUseCaches(false);
|
||||
urlConnection.setInstanceFollowRedirects(false);
|
||||
urlConnection.setRequestProperty("User-Agent",
|
||||
"ESite JAVA Agent");
|
||||
urlConnection.setRequestProperty("Content-Type",
|
||||
"text/plain;charset=utf8");
|
||||
urlConnection.setRequestProperty("x-gid-format", gidFmt);
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return (urlConnection);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置IO读超时时间
|
||||
* @param timeout 超时时间(单位为秒),如果不设置此时间,
|
||||
* 则内部缺省值为30秒
|
||||
*/
|
||||
public void setRdTimeout(int timeout)
|
||||
{
|
||||
// 将秒转为毫秒
|
||||
rdTimeout = timeout * 1000;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置络连接时间
|
||||
* @param timeout 超时时间(单位为秒),如果不设置此时间,
|
||||
* 则内部缺省值为10秒
|
||||
*/
|
||||
public void setConnectTimeout(int timeout)
|
||||
{
|
||||
// 将秒转为毫秒
|
||||
connTimeout = timeout * 1000;
|
||||
}
|
||||
|
||||
protected Socket OpenTcp() {
|
||||
Socket socket = null;
|
||||
try {
|
||||
socket = new Socket();
|
||||
socket.setSoTimeout(rdTimeout);
|
||||
SocketAddress socketAddress =
|
||||
new InetSocketAddress(serverIp, serverPort);
|
||||
// 带连接超时方式连接服务器
|
||||
socket.connect(socketAddress, connTimeout);
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return socket;
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回出错号
|
||||
* @return 错误号
|
||||
*/
|
||||
int getLastError() {
|
||||
return errnum;
|
||||
}
|
||||
}
|
156
app/gid/gid_client/java/src/com/iker/gid/GidClientCmdLine.java
Normal file
156
app/gid/gid_client/java/src/com/iker/gid/GidClientCmdLine.java
Normal file
@ -0,0 +1,156 @@
|
||||
package com.iker.gid;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.Socket;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.Vector;
|
||||
|
||||
/**
|
||||
* 命令行方式从GID服务器取得唯一ID号,是否应该使用该方式取得唯一ID号,
|
||||
* 应该取决于服务器的配置选项
|
||||
* @author zsx
|
||||
*
|
||||
*/
|
||||
public final class GidClientCmdLine extends GidClient {
|
||||
public GidClientCmdLine(String ip, int port, String tag)
|
||||
{
|
||||
super(ip, port, tag);
|
||||
}
|
||||
|
||||
/**
|
||||
* name-value 对类型类
|
||||
*/
|
||||
public final class NameValue {
|
||||
private String name;
|
||||
private String value;
|
||||
|
||||
public NameValue(String name, String value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
String getValue()
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拆分字符串的类,该类将“名值”对进行拆分,数据格式为:
|
||||
* name1^value1|name2^value2|...
|
||||
*/
|
||||
public final class Tokens {
|
||||
private static final String spliter1 = "|";
|
||||
private static final String spliter2 = "\\^";
|
||||
|
||||
private Vector<NameValue> tokens = new Vector<NameValue>();;
|
||||
|
||||
public Tokens(String content) {
|
||||
StringTokenizer sk = new StringTokenizer(content, spliter1);
|
||||
while (sk.hasMoreTokens()) {
|
||||
String str = sk.nextToken();
|
||||
String[] nv = str.split(spliter2);
|
||||
if (nv.length != 2)
|
||||
continue;
|
||||
tokens.add(new NameValue(nv[0], nv[1]));
|
||||
}
|
||||
}
|
||||
|
||||
public String getString(String name)
|
||||
{
|
||||
for (int i = 0; i < tokens.size(); i++) {
|
||||
NameValue token = tokens.get(i);
|
||||
if (token.getName().equalsIgnoreCase(name))
|
||||
return token.getValue();
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public long getLong(String name)
|
||||
{
|
||||
for (int i = 0; i < tokens.size(); i++) {
|
||||
NameValue token = tokens.get(i);
|
||||
if (token.getName().equalsIgnoreCase(name))
|
||||
return Long.parseLong(token.getValue());
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int getInt(String name)
|
||||
{
|
||||
for (int i = 0; i < tokens.size(); i++) {
|
||||
NameValue token = tokens.get(i);
|
||||
if (token.getName().equalsIgnoreCase(name))
|
||||
return Integer.parseInt(token.getValue());
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long gidNext() {
|
||||
Socket socket = null;
|
||||
try {
|
||||
socket = OpenTcp();
|
||||
|
||||
OutputStream out = socket.getOutputStream();
|
||||
/* 请求的数据格式:CMD^new_gid|TAG^default */
|
||||
String buf = "CMD^new_gid|TAG^" + tagName + "\r\n";
|
||||
out.write(buf.getBytes());
|
||||
out.flush();
|
||||
//out.close();
|
||||
|
||||
/* 响应数据格式:status^ok[|error]|gid^xxx[|tag^xxx|err^xxx|msg^xxx] */
|
||||
InputStream in = socket.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||
buf = reader.readLine();
|
||||
|
||||
out.close();
|
||||
in.close();
|
||||
|
||||
Tokens tokens = new Tokens(buf);
|
||||
String status = tokens.getString("status");
|
||||
if (status.equalsIgnoreCase("ok") == false) {
|
||||
errnum = tokens.getInt("err");
|
||||
return -1;
|
||||
}
|
||||
return tokens.getLong("gid");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
if (socket != null)
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
final String ip = "192.168.1.251";
|
||||
final int port = 7072;
|
||||
final String tag = "default";
|
||||
|
||||
GidClient gidClient = new GidClientCmdLine(ip, port, tag);
|
||||
|
||||
for (int i = 0; i < 100; i++) {
|
||||
long gid = gidClient.gidNext();
|
||||
System.out.print(">>cmdline gid: " + gid + "\r");
|
||||
}
|
||||
}
|
||||
}
|
87
app/gid/gid_client/java/src/com/iker/gid/GidClientJson.java
Normal file
87
app/gid/gid_client/java/src/com/iker/gid/GidClientJson.java
Normal file
@ -0,0 +1,87 @@
|
||||
package com.iker.gid;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
/**
|
||||
* 按 JSON 数据格式获得GID,若要使用此方式取得唯一ID,则服务器
|
||||
* 必须是启用了HTTP协议访问方式
|
||||
* @author zsx
|
||||
*
|
||||
*/
|
||||
public final class GidClientJson extends GidClient {
|
||||
|
||||
public GidClientJson(String ip, int port, String tag)
|
||||
{
|
||||
super(ip, port, tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long gidNext() {
|
||||
// TODO Auto-generated method stub
|
||||
HttpURLConnection urlConnection = null;
|
||||
try {
|
||||
urlConnection = OpenUrl("json");
|
||||
OutputStream os = urlConnection.getOutputStream();
|
||||
|
||||
/* 请求的数据格式:{ cmd: 'new_gid'; tag: 'xxx'; } */
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("cmd", "new_gid");
|
||||
json.put("tag", tagName);
|
||||
|
||||
os.write(json.toString().getBytes());
|
||||
os.flush();
|
||||
//os.close();
|
||||
|
||||
/* 返回的数据格式: { status: 'ok|error'; gid: xxx; tag: 'xxx'; msg: 'xxx'; err: 'xxx'; } */
|
||||
InputStream in = urlConnection.getInputStream();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
||||
String buf="";
|
||||
char[] tmp = new char[128];
|
||||
while (true) {
|
||||
|
||||
if (reader.read(tmp) == -1)
|
||||
break;
|
||||
buf += new String(tmp);
|
||||
}
|
||||
buf.toLowerCase(); // 先转为小写
|
||||
|
||||
JSONObject jsonRet = JSONObject.fromObject(buf);
|
||||
String status = jsonRet.getString("status");
|
||||
if (status.equals("ok") == false) {
|
||||
String err = jsonRet.getString("err");
|
||||
if (err.equals("") == false)
|
||||
errnum = Integer.parseInt(err);
|
||||
return -1;
|
||||
}
|
||||
long gid = jsonRet.getLong("gid");
|
||||
return gid;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (urlConnection != null)
|
||||
urlConnection.disconnect();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
final String ip = "192.168.1.251";
|
||||
final int port = 7072;
|
||||
final String tag = "default";
|
||||
|
||||
GidClient gidClient = new GidClientJson(ip, port, tag);
|
||||
for (int i = 0; i < 100; i++) {
|
||||
long gid = gidClient.gidNext();
|
||||
System.out.print(">>json gid: " + gid + "\r\n");
|
||||
}
|
||||
}
|
||||
}
|
82
app/gid/gid_client/java/src/com/iker/gid/GidClientXml.java
Normal file
82
app/gid/gid_client/java/src/com/iker/gid/GidClientXml.java
Normal file
@ -0,0 +1,82 @@
|
||||
package com.iker.gid;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
/**
|
||||
* 按XML格式获得GID数据,若要使用此方式取得唯一ID,则服务器
|
||||
* 必须是启用了HTTP协议访问方式
|
||||
* @author zsx
|
||||
*
|
||||
*/
|
||||
public final class GidClientXml extends GidClient {
|
||||
|
||||
public GidClientXml(String ip, int port, String tag)
|
||||
{
|
||||
super(ip, port, tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long gidNext() {
|
||||
// TODO Auto-generated method stub
|
||||
HttpURLConnection urlConnection = null;
|
||||
try {
|
||||
urlConnection = OpenUrl("xml"); // 连接服务器
|
||||
OutputStream os = urlConnection.getOutputStream();
|
||||
String body = "<request cmd='new_gid' tag='" + tagName + "' />";
|
||||
os.write(body.getBytes());
|
||||
os.flush();
|
||||
//os.close();
|
||||
|
||||
/* 返回的数据格式: <respond status='ok|error' gid=xxx tag='xxx' msg='xxx' err='xxx' /> */
|
||||
|
||||
try {
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
Document document = db.parse(urlConnection.getInputStream());
|
||||
Element root = document.getDocumentElement();
|
||||
|
||||
String status = root.getAttribute("status");
|
||||
String gidStr = root.getAttribute("gid");
|
||||
if (status.equals("ok") == false || gidStr.equals("")) {
|
||||
String err = root.getAttribute("err");
|
||||
if (err.equals("") == false)
|
||||
errnum = Integer.parseInt(err);
|
||||
return -1;
|
||||
}
|
||||
long gid = Long.parseLong(gidStr);
|
||||
return gid;
|
||||
} catch (ParserConfigurationException e) {
|
||||
e.printStackTrace();
|
||||
} catch(SAXException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (urlConnection != null)
|
||||
urlConnection.disconnect();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
final String ip = "192.168.1.251";
|
||||
final int port = 7072;
|
||||
final String tag = "default";
|
||||
|
||||
GidClient gidClient = new GidClientXml(ip, port, tag);
|
||||
for (int i = 0; i < 100; i++) {
|
||||
long gid = gidClient.gidNext();
|
||||
System.out.print(">>xml gid: " + gid + "\r\n");
|
||||
}
|
||||
}
|
||||
}
|
49
app/gid/gid_client/java/src/com/iker/gid/GidStatus.java
Normal file
49
app/gid/gid_client/java/src/com/iker/gid/GidStatus.java
Normal file
@ -0,0 +1,49 @@
|
||||
package com.iker.gid;
|
||||
|
||||
/**
|
||||
* @author zsx
|
||||
* 该类主要定义了GID的错误号以及将错误号转为字符串描述信息的内容
|
||||
*/
|
||||
public final class GidStatus {
|
||||
public static final int gidOk = 200;
|
||||
public static final int gidErrInit = 400;
|
||||
public static final int gidErrConn = 401;
|
||||
public static final int gidErrIo = 402;
|
||||
public static final int gidErrProto = 403;
|
||||
public static final int gidErrServer = 404;
|
||||
public static final int gidErrSid = 500;
|
||||
public static final int gidErrOverride = 501;
|
||||
public static final int gidErrSave = 502;
|
||||
|
||||
/**
|
||||
* 将错误号转为字符串描述信息
|
||||
* @param gidStatus
|
||||
* @return String
|
||||
*/
|
||||
public static String toString(int gidStatus)
|
||||
{
|
||||
switch (gidStatus)
|
||||
{
|
||||
case gidOk:
|
||||
return "ok";
|
||||
case gidErrInit:
|
||||
return "gid_client_init should called first";
|
||||
case gidErrConn:
|
||||
return "connect server error";
|
||||
case gidErrIo:
|
||||
return "readwrite from server error";
|
||||
case gidErrProto:
|
||||
return "gid protocol error";
|
||||
case gidErrServer:
|
||||
return "gid server internal error";
|
||||
case gidErrSid:
|
||||
return "sid invalid";
|
||||
case gidErrOverride:
|
||||
return "gid override";
|
||||
case gidErrSave:
|
||||
return "gid save error";
|
||||
default:
|
||||
return "unknown error number";
|
||||
}
|
||||
}
|
||||
}
|
117
app/gid/gid_server/Makefile
Normal file
117
app/gid/gid_server/Makefile
Normal file
@ -0,0 +1,117 @@
|
||||
SHELL = /bin/sh
|
||||
CC = g++
|
||||
CC = gcc
|
||||
#CC = ${MY_ENV_CC}
|
||||
AR = ar
|
||||
ARFL = rv
|
||||
#ARFL = cru
|
||||
RANLIB = ranlib
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Waggregate-return \
|
||||
-Wno-long-long \
|
||||
-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
|
||||
#CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
#-Waggregate-return -Wmissing-prototypes \
|
||||
#-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
#-D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB = -lpthread -lcrypt -lz
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
OSTYPE = $(shell uname -p)
|
||||
RPATH =
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
#Path for Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT -pedantic
|
||||
|
||||
ifeq ($(findstring i686, $(OSTYPE)), i686)
|
||||
RPATH = linux32
|
||||
FLAG_OS = LINUX32
|
||||
endif
|
||||
ifeq ($(findstring x86_64, $(OSTYPE)), x86_64)
|
||||
RPATH = linux64
|
||||
FLAG_OS = LINUX64
|
||||
endif
|
||||
endif
|
||||
|
||||
#Path for SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT -pedantic
|
||||
endif
|
||||
|
||||
#Path for HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
BASE_PATH = ../../../build
|
||||
|
||||
INC_COMPILE = -I./include -I../../../lib_acl/include \
|
||||
-I../../../lib_protocol/include
|
||||
LIB_COMPILE = -L../../../lib_acl/lib -L../../../lib_protocol/lib -l_protocol -l_acl
|
||||
|
||||
CFLAGS += $(INC_COMPILE)
|
||||
|
||||
###########################################################
|
||||
OUT_PATH = .
|
||||
OBJ_PATH = $(OUT_PATH)/debug
|
||||
|
||||
#Project's objs
|
||||
SRC = $(wildcard src/*.c) $(wildcard unix/*.c)
|
||||
OBJ = $(patsubst %.c, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
|
||||
###########################################################
|
||||
|
||||
PROG = gid_server
|
||||
|
||||
all: rm gid_server
|
||||
.PHONY = gid_server clean
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
|
||||
$(PROG): $(OBJ)
|
||||
$(CC) $(OBJ) $(LIB_COMPILE) $(SYSLIB) -o $(PROG)
|
||||
# cp $(OBJ_PATH)/$(PROG) $(BASE_PATH)/dist/master/libexec
|
||||
@echo ""
|
||||
@echo "All ok! Output:$(PROG)"
|
||||
@echo ""
|
||||
|
||||
$(OBJ_PATH)/%.o: src/%.c
|
||||
$(COMPILE) $< -o $@
|
||||
$(OBJ_PATH)/%.o: unix/%.c
|
||||
$(COMPILE) $< -o $@
|
||||
|
||||
rm:
|
||||
rm -f $(PROG)
|
||||
clean:
|
||||
rm -f $(PROG)
|
||||
rm -f $(OBJ)
|
108
app/gid/gid_server/Makefile.test
Normal file
108
app/gid/gid_server/Makefile.test
Normal file
@ -0,0 +1,108 @@
|
||||
SHELL = /bin/sh
|
||||
CC = g++
|
||||
CC = gcc
|
||||
#CC = ${MY_ENV_CC}
|
||||
AR = ar
|
||||
ARFL = rv
|
||||
#ARFL = cru
|
||||
RANLIB = ranlib
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Waggregate-return -Wno-long-long \
|
||||
-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
|
||||
#CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
#-Waggregate-return -Wmissing-prototypes \
|
||||
#-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
#-D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB = -lpthread -lcrypt -lz
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
#Path for Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT -pedantic
|
||||
endif
|
||||
|
||||
#Path for SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT -pedantic
|
||||
endif
|
||||
|
||||
#Path for HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
BASE_PATH = ../..
|
||||
|
||||
BASE_LIB_PATH = $(BASE_PATH)/lib/linux
|
||||
BASE_INC_PATH = $(BASE_PATH)/include
|
||||
|
||||
ACL_INC = $(BASE_PATH)/include/acl
|
||||
P2P_INC = $(BASE_PATH)/include/p2p
|
||||
P2P_CHAT_INC = $(BASE_PATH)/include/p2p_chat
|
||||
|
||||
CFLAGS += $(INC_COMPILE)
|
||||
|
||||
INC_COMPILE = -I$(P2P_CHAT_INC) -I$(P2P_INC) -I$(ACL_INC) -I$(BASE_INC_PATH) -I./include
|
||||
LIB_COMPILE = -L$(BASE_LIB_PATH) -l_chat -l_acl
|
||||
|
||||
###########################################################
|
||||
OUT_PATH = .
|
||||
OBJ_PATH = $(OUT_PATH)/debug
|
||||
|
||||
#Project's objs
|
||||
SRC = $(wildcard src/*.c) $(wildcard win32/*.c)
|
||||
OBJ = $(patsubst %.c, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
|
||||
###########################################################
|
||||
|
||||
PROG = regsvr_test
|
||||
|
||||
.PHONY = all clean
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
|
||||
$(PROG): $(OBJ)
|
||||
$(CC) $(OBJ) $(LIB_COMPILE) $(SYSLIB) -o $(OBJ_PATH)/$(PROG)
|
||||
@echo ""
|
||||
@echo "All ok! Output:$(PROG)"
|
||||
@echo ""
|
||||
|
||||
$(OBJ_PATH)/%.o: src/%.c
|
||||
$(COMPILE) $< -o $@
|
||||
$(OBJ_PATH)/%.o: win32/%.c
|
||||
$(COMPILE) $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_PATH)/$(PROG)
|
||||
rm -f $(OBJ)
|
||||
|
2
app/gid/gid_server/change.txtt
Normal file
2
app/gid/gid_server/change.txtt
Normal file
@ -0,0 +1,2 @@
|
||||
1) 2013.7.17
|
||||
1.1) feature: 支持同时监听多个端口,每个端口处理不同的协议格式
|
32
app/gid/gid_server/doc/test.txt
Normal file
32
app/gid/gid_server/doc/test.txt
Normal file
@ -0,0 +1,32 @@
|
||||
POST / HTTP/1.1
|
||||
Connection: keep-alive
|
||||
Content-Length: 26
|
||||
|
||||
{cmd: "new_gid", seq: 1 }
|
||||
|
||||
|
||||
POST / HTTP/1.1
|
||||
Content-Length: 26
|
||||
|
||||
{cmd: "new_gid", seq: 1 }
|
||||
|
||||
|
||||
POST / HTTP/1.1
|
||||
Connection: keep-alive
|
||||
Content-Length: 32
|
||||
|
||||
{cmd: "new_gid", seq: "label" }
|
||||
|
||||
|
||||
POST / HTTP/1.1
|
||||
Content-Length: 32
|
||||
|
||||
{cmd: "new_gid", seq: "label" }
|
||||
|
||||
|
||||
POST / HTTP/1.1
|
||||
Content-Length: 19
|
||||
|
||||
{cmd: "new_gid" }
|
||||
|
||||
CMD^new_gid|LABEL^default
|
106
app/gid/gid_server/gid_server.cf
Normal file
106
app/gid/gid_server/gid_server.cf
Normal file
@ -0,0 +1,106 @@
|
||||
|
||||
service server {
|
||||
# 进程是否禁止运行
|
||||
master_disable = no
|
||||
# 服务地址及端口号
|
||||
# master_service = 127.0.0.1:6010
|
||||
master_service = 127.0.0.1:7070, 127.0.0.1:7071, 127.0.0.1:7072, 127.0.0.1:7073
|
||||
|
||||
# 服务监听为域套接口
|
||||
# master_service = aio_echo.sock
|
||||
# 服务类型
|
||||
# master_type = inet
|
||||
# master_type = unix
|
||||
master_type = sock
|
||||
|
||||
# 当子进程异常退出时,如果该值非空,则将子进程异常退出的消息通知该服务
|
||||
# master_notify_addr = 127.0.0.1:5801
|
||||
|
||||
# 是否允许延迟接受客户端连接,如果为0则表示关闭该功能,如果大于0则表示打开此功能
|
||||
# 并且此值代表延迟接受连接的超时值,超过此值时如果客户端依然没有发来数据,则操作
|
||||
# 系统会在系统层直接关闭该连接
|
||||
# master_defer_accept = 0
|
||||
# 是否只允许私有访问, 如果为 y, 则域套接口创建在 /opt/analyse/var/log/private/ 目录下,
|
||||
# 如果为 n, 则域套接口创建在 /opt/analyse/var/log/public/ 目录下,
|
||||
master_private = n
|
||||
master_unpriv = n
|
||||
# 是否需要 chroot: n -- no, y -- yes
|
||||
master_chroot = n
|
||||
# 每隔多长时间触发一次,单位为秒(仅对 trigger 模式有效)
|
||||
master_wakeup = -
|
||||
# 最大进程数
|
||||
master_maxproc = 1
|
||||
# 进程程序名
|
||||
master_command = gid_server
|
||||
# 进程日志记录文件
|
||||
master_log = {install_path}/var/gid_server.log
|
||||
# 进程启动参数,只能为: -u [是否允许以某普通用户的身份运行]
|
||||
# master_args = -u
|
||||
# 传递给服务子进程的环境变量, 可以通过 getenv("SERVICE_ENV") 获得此值
|
||||
# master_env = mempool_limit:512000000
|
||||
# master_env = logme:FALSE, priority:E_LOG_INFO, action:E_LOG_PER_DAY, flush:sync_flush, imit_size:512,\
|
||||
# sync_action:E_LOG_SEM, sem_name:/tmp/ioctl_echo.sem
|
||||
|
||||
# 每个进程实例处理连接数的最大次数,超过此值后进程实例主动退出
|
||||
ioctl_use_limit = 0
|
||||
# 每个进程实例的空闲超时时间,超过此值后进程实例主动退出
|
||||
ioctl_idle_limit = 0
|
||||
# 记录进程PID的位置(对于多进程实例来说没有意义)
|
||||
ioctl_pid_dir = ./var
|
||||
# 进程运行时所在的路径
|
||||
# ioctl_queue_dir = /home/guozhaohui/opt/analyse/var
|
||||
ioctl_queue_dir = {install_path}/var
|
||||
# 读写超时时间, 单位为秒
|
||||
ioctl_rw_timeout = 120
|
||||
# 读缓冲区的缓冲区大小
|
||||
ioctl_buf_size = 8192
|
||||
# 每次 accept 时的循环接收的最大次数
|
||||
ioctl_max_accept = 25
|
||||
# 在并发访问量非常低的情况下,如访问量在 10 次/秒 以下时,可以找开此值(即赋为1),以加速事件循环过程,
|
||||
# 从而防止服务进程阻塞在 select 上的时间过长而影响访问速度
|
||||
# ioctl_enable_dog = 1
|
||||
# 进程运行时的用户身份
|
||||
ioctl_owner = root
|
||||
# ioctl_owner = guozhaohui
|
||||
|
||||
# 用 select 进行循环时的时间间隔
|
||||
# 单位为秒
|
||||
ioctl_delay_sec = 0
|
||||
# 单位为微秒
|
||||
ioctl_delay_usec = 500
|
||||
|
||||
# 采用事件循环的方式: select(default), poll, kernel(epoll/devpoll/kqueue)
|
||||
ioctl_event_mode = select
|
||||
|
||||
# 线程池的最大线程数
|
||||
ioctl_max_threads = 250
|
||||
# 线程的堆栈空间大小,单位为字节,0表示使用系统缺省值
|
||||
ioctl_stacksize = 0
|
||||
# 允许访问 udserver 的客户端IP地址范围
|
||||
ioctl_access_allow = 0.0.0.0:255.255.255.255
|
||||
|
||||
|
||||
## app_main.c 需要的参数项
|
||||
# 客户端连接的最大空闲时间阀值
|
||||
app_client_idle_limit = 120
|
||||
|
||||
############################################################################
|
||||
# 应用自己的配置选项
|
||||
|
||||
# 是否调试内存状态
|
||||
# debug_mem = 0
|
||||
# 存储的根目录
|
||||
gid_path = {install_path}/var/gid
|
||||
# 是否立刻同步至磁盘
|
||||
sync_gid = 1
|
||||
# 步进值
|
||||
gid_step = 1
|
||||
# 是否循环读取请求命令
|
||||
loop_enable = 1
|
||||
# 缺省的服务协议
|
||||
proto_default = http
|
||||
# 协议与端口的对照表
|
||||
proto_list = http|127.0.0.1:7070|127.0.0.1:7071, cmdline|127.0.0.1:7072|127.0.0.1:7073
|
||||
# 测试用
|
||||
test_user_id = 10001
|
||||
}
|
21
app/gid/gid_server/include/cmdline_service.h
Normal file
21
app/gid/gid_server/include/cmdline_service.h
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef __PROTO_CMD_INCLUDE_H__
|
||||
#define __PROTO_CMD_INCLUDE_H__
|
||||
|
||||
#include "lib_acl.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 命令行方式的协议处理方式
|
||||
* @param client {ACL_VSTREAM*} 客户端流
|
||||
* @return {int} 0:表示正常,1:表示正常且保持长连接,-1:表示出错
|
||||
*/
|
||||
int cmdline_service(ACL_VSTREAM *client);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
51
app/gid/gid_server/include/gid_oper.h
Normal file
51
app/gid/gid_server/include/gid_oper.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef __GID_OPER_INCLUDE_H__
|
||||
#define __GID_OPER_INCLUDE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "lib_acl.h"
|
||||
|
||||
#define GID_OK 200 /* 正常 */
|
||||
#define GID_ERR_SID 500 /* 会话 ID 号不对 */
|
||||
#define GID_ERR_OVERRIDE 501 /* 达到最大分配值 */
|
||||
#define GID_ERR_SAVE 502 /* 存储至磁盘时出错 */
|
||||
|
||||
/**
|
||||
* 根据错误号获得字符串描述
|
||||
* @param errnum {int} 错误号
|
||||
* @return {const char*} 错误描述
|
||||
*/
|
||||
const char *gid_serror(int errnum);
|
||||
|
||||
/**
|
||||
* 获取下一个GID号
|
||||
* @param path {const char*} 文件存储路径
|
||||
* @param tag {const char*} ID标识号
|
||||
* @param step {unsigned int} 每次的步进值
|
||||
* @param errnum {int*} 若非空,则记录出错原因
|
||||
* @return {acl_int64}, 如果返回值 < 0,则表示分配失败,
|
||||
* 出错原因参考 errnum 的返回值
|
||||
*/
|
||||
acl_int64 gid_next(const char *path, const char *tag,
|
||||
unsigned int step, int *errnum);
|
||||
|
||||
/**
|
||||
* 初始化,程序启动后应调用此函数初始化内部库
|
||||
* @param fh_limit {int} 缓存的文件句柄的最大个数
|
||||
* @param sync_gid {int} 每产生一个新的 gid 后是否同时同步至磁盘
|
||||
* @param debug_section {int} 调用用的标签值
|
||||
*/
|
||||
void gid_init(int fh_limit, int sync_gid, int debug_section);
|
||||
|
||||
/**
|
||||
* 程序退出前必须调用此函数,以使内存中数据刷新至磁盘
|
||||
*/
|
||||
void gid_finish(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
26
app/gid/gid_server/include/global.h
Normal file
26
app/gid/gid_server/include/global.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef __GLOBAL_INCLUDE_H__
|
||||
#define __GLOBAL_INCLUDE_H__
|
||||
|
||||
/* 配置文件项 */
|
||||
|
||||
extern int var_cfg_debug_mem;
|
||||
extern int var_cfg_loop_enable;
|
||||
extern int var_cfg_sync_gid;
|
||||
extern ACL_CONFIG_BOOL_TABLE service_conf_bool_tab[];
|
||||
|
||||
extern int var_cfg_debug_section;
|
||||
extern int var_cfg_gid_step;
|
||||
extern int var_cfg_gid_test;
|
||||
extern int var_cfg_fh_limit;
|
||||
extern int var_cfg_io_timeout;
|
||||
extern ACL_CONFIG_INT_TABLE service_conf_int_tab[];
|
||||
|
||||
extern char *var_cfg_gid_path;
|
||||
extern char *var_cfg_proto_list;
|
||||
extern ACL_CONFIG_STR_TABLE service_conf_str_tab[];
|
||||
|
||||
/* 服务器之间传输的命令字定义 */
|
||||
#define CMD_NEW_GID "new_gid"
|
||||
#define CMD_TEST_GID "test_gid"
|
||||
|
||||
#endif
|
59
app/gid/gid_server/include/http_service.h
Normal file
59
app/gid/gid_server/include/http_service.h
Normal file
@ -0,0 +1,59 @@
|
||||
#ifndef __HTTP_SERVICE_INCLUDE_H__
|
||||
#define __HTTP_SERVICE_INCLUDE_H__
|
||||
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* in http_service.c */
|
||||
|
||||
/**
|
||||
* HTTP 协议方式处理方法
|
||||
* @param client {ACL_VSTREAM*} 客户端流
|
||||
* @return {int} 0:表示正常,1:表示正常且保持长连接,-1:表示出错
|
||||
*/
|
||||
int http_service(ACL_VSTREAM *client);
|
||||
|
||||
/**
|
||||
* 服务端返回 HTTP 响应给客户端
|
||||
* @param client {ACL_VSTREAM*} 客户端流
|
||||
* @param status {int} HTTP 响应状态码,1xx, 2xx, 3xx, 4xx, 5xx
|
||||
* @param keep_alive {int} 是否与客户端保持长连接
|
||||
* @param body {const char*} 数据体内容
|
||||
* @param len {int} 数据体长度
|
||||
*/
|
||||
int http_server_send_respond(ACL_VSTREAM* client, int status,
|
||||
int keep_alive, char* body, int len);
|
||||
|
||||
/* in http_json.c */
|
||||
|
||||
/**
|
||||
* 请求数据的格式为 JSON 格式的处理
|
||||
* @param client {ACL_VSTREAM*}
|
||||
* @param hdr_req {HTTP_HDR_REQ*} HTTP 请求协议头对象
|
||||
* @param json {ACL_JSON*} json 解析器对象
|
||||
* @return {int} 0:表示正常,1:表示正常且保持长连接,-1:表示出错
|
||||
*/
|
||||
int http_json_service(ACL_VSTREAM *client,
|
||||
HTTP_HDR_REQ *hdr_req, ACL_JSON *json);
|
||||
|
||||
/* in http_xml.c */
|
||||
|
||||
/**
|
||||
* 请求数据的格式为 XML 格式的处理
|
||||
* @param client {ACL_VSTREAM*}
|
||||
* @param hdr_req {HTTP_HDR_REQ*} HTTP 请求协议头对象
|
||||
* @param xml {ACL_XML*} xml 解析器对象
|
||||
* @return {int} 0:表示正常,1:表示正常且保持长连接,-1:表示出错
|
||||
*/
|
||||
int http_xml_service(ACL_VSTREAM *client,
|
||||
HTTP_HDR_REQ *hdr_req, ACL_XML *xml);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
29
app/gid/gid_server/include/service_main.h
Normal file
29
app/gid/gid_server/include/service_main.h
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
#ifndef __SERVICE_MAIN_INCLUDE_H__
|
||||
#define __SERVICE_MAIN_INCLUDE_H__
|
||||
|
||||
#include "lib_acl.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 初始化函数,服务器模板框架启动后仅调用该函数一次
|
||||
* @param ctx {void*} 用户自定义类型指针
|
||||
*/
|
||||
extern void service_init(void *ctx);
|
||||
extern void service_exit(void *ctx);
|
||||
|
||||
/**
|
||||
* 协议处理函数入口
|
||||
* @param stream {ACL_VSTREAM*} 客户端数据连接流
|
||||
* @param ctx {void*} 用户自定义类型指针
|
||||
*/
|
||||
extern int service_main(ACL_VSTREAM *stream, void *ctx);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
128
app/gid/gid_server/src/cmdline_service.c
Normal file
128
app/gid/gid_server/src/cmdline_service.c
Normal file
@ -0,0 +1,128 @@
|
||||
#include "lib_acl.h"
|
||||
#include <string.h>
|
||||
#include "gid_oper.h"
|
||||
#include "global.h"
|
||||
#include "cmdline_service.h"
|
||||
|
||||
static int send_respond_gid(ACL_VSTREAM *stream,
|
||||
const char *tag, acl_int64 gid)
|
||||
{
|
||||
#if 0
|
||||
if (acl_vstream_fprintf(stream, "STATUS^OK|GID^%lld|TAG^%s\r\n",
|
||||
gid, tag) == ACL_VSTREAM_EOF)
|
||||
#else
|
||||
char buf[1024];
|
||||
|
||||
snprintf(buf, sizeof(buf), "STATUS^OK|GID^%lld|TAG^%s\r\n", gid, tag);
|
||||
if (acl_vstream_writen(stream, buf, strlen(buf)) == ACL_VSTREAM_EOF)
|
||||
#endif
|
||||
{
|
||||
acl_msg_info("%s(%d): respond to client error",
|
||||
__FILE__, __LINE__);
|
||||
return (-1);
|
||||
}
|
||||
else
|
||||
return (1); /* 返回1表示保持长连接 */
|
||||
}
|
||||
|
||||
static int send_respond_error(ACL_VSTREAM *stream,
|
||||
const char *tag, const char *msg)
|
||||
{
|
||||
if (acl_vstream_fprintf(stream, "STATUS^ERR|TAG^%s|MSG^%s\r\n",
|
||||
tag, msg) == ACL_VSTREAM_EOF)
|
||||
{
|
||||
acl_msg_info("%s(%d): respond to client error",
|
||||
__FILE__, __LINE__);
|
||||
return (-1);
|
||||
}
|
||||
else
|
||||
return (0);
|
||||
}
|
||||
|
||||
static int proto_new_gid(ACL_VSTREAM *stream, const char *tag)
|
||||
{
|
||||
acl_int64 gid;
|
||||
int errnum = 0;
|
||||
|
||||
gid = gid_next(var_cfg_gid_path, tag, var_cfg_gid_step, &errnum);
|
||||
if (gid >= 0)
|
||||
return (send_respond_gid(stream, tag, gid));
|
||||
else
|
||||
return (send_respond_error(stream, tag, gid_serror(errnum)));
|
||||
}
|
||||
|
||||
static int proto_test_gid(ACL_VSTREAM *stream,
|
||||
const char *tag, acl_int64 test_id)
|
||||
{
|
||||
return (send_respond_gid(stream, tag, test_id));
|
||||
}
|
||||
|
||||
static int proto_get_test_gid(ACL_VSTREAM *stream, const char *tag)
|
||||
{
|
||||
return (proto_test_gid(stream, tag, (acl_int64) var_cfg_gid_test));
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
typedef struct PROTO_CMDLINE {
|
||||
const char *cmd; /* 命令字 */
|
||||
int (*handle)(ACL_VSTREAM *, const char*); /* 协议处理函数句柄 */
|
||||
} PROTO_CMDLINE;
|
||||
|
||||
/* 协议命令处理函数映射表 */
|
||||
static PROTO_CMDLINE __proto_cmdline_tab[] = {
|
||||
{ CMD_NEW_GID, proto_new_gid },
|
||||
{ CMD_TEST_GID, proto_get_test_gid },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
/* 解析数据头 */
|
||||
|
||||
/* 协议格式:
|
||||
* 请求格式: CMD^xxx|tag^xxx:sid\r\n
|
||||
* 响应格式: STATUS^[OK|ERR]|[GID^xxx|INFO^xxx]|tag^%s\r\n
|
||||
*/
|
||||
int cmdline_service(ACL_VSTREAM *client)
|
||||
{
|
||||
const char *myname = "parse_req_hdr";
|
||||
const char *cmd = NULL, *tag = "default";
|
||||
char buf[1024];
|
||||
ACL_ARGV *argv;
|
||||
int i, ret;
|
||||
ACL_ITER iter;
|
||||
|
||||
/* 先读取数据头 */
|
||||
ret = acl_vstream_gets_nonl(client, buf, sizeof(buf) - 1);
|
||||
if (ret == ACL_VSTREAM_EOF)
|
||||
return (-1);
|
||||
|
||||
argv = acl_argv_split(buf, "|");
|
||||
acl_foreach(iter, argv) {
|
||||
const char *ptr = (const char*) iter.data;
|
||||
if (strncasecmp(ptr, "CMD^", sizeof("CMD^") - 1) == 0)
|
||||
cmd = ptr + sizeof("CMD^") - 1;
|
||||
else if (strncasecmp(ptr, "TAG^", sizeof("TAG^") - 1) == 0)
|
||||
tag = ptr + sizeof("TAG^") - 1;
|
||||
}
|
||||
|
||||
if (cmd == NULL || *tag == 0) {
|
||||
acl_msg_error("%s(%d): invalid request(%s)",
|
||||
myname, __LINE__, buf);
|
||||
acl_argv_free(argv);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
for (i = 0; __proto_cmdline_tab[i].cmd != NULL; i++) {
|
||||
if (strcasecmp(cmd, __proto_cmdline_tab[i].cmd) == 0) {
|
||||
ret = __proto_cmdline_tab[i].handle(client, tag);
|
||||
acl_argv_free(argv);
|
||||
return (ret);
|
||||
}
|
||||
}
|
||||
|
||||
acl_msg_error("%s(%d): invalid request cmd(%s), no cmd found.",
|
||||
myname, __LINE__, cmd);
|
||||
|
||||
acl_argv_free(argv);
|
||||
return (-1);
|
||||
}
|
317
app/gid/gid_server/src/gid_oper.c
Normal file
317
app/gid/gid_server/src/gid_oper.c
Normal file
@ -0,0 +1,317 @@
|
||||
#include "lib_acl.h"
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "gid_oper.h"
|
||||
|
||||
typedef struct GID_STORE {
|
||||
ACL_FHANDLE fh; /* 文件句柄 */
|
||||
ACL_VSTREAM *logger; /* 日志句柄 */
|
||||
char tag[64]; /* 文件标识号 */
|
||||
char sid[64]; /* 会话ID号,相当于密码 */
|
||||
unsigned int step; /* 步进值 */
|
||||
acl_int64 cur_gid; /* 当前的ID值 */
|
||||
acl_int64 min_gid; /* 最小的ID值 */
|
||||
acl_int64 max_gid; /* 最大的ID值 */
|
||||
} GID_STORE;
|
||||
|
||||
typedef struct {
|
||||
char tag[64]; /* 文件标识号 */
|
||||
char sid[64]; /* 会话ID号,相当于密码 */
|
||||
unsigned int step; /* 步进值 */
|
||||
acl_int64 cur_gid; /* 当前的ID值 */
|
||||
acl_int64 min_gid; /* 最小的ID值 */
|
||||
acl_int64 max_gid; /* 最大的ID值 */
|
||||
} GID_STORE_CTX;
|
||||
|
||||
static int __sync_gid = 1;
|
||||
|
||||
/* 同步内存数据至磁盘 */
|
||||
|
||||
static int gid_store_sync(GID_STORE *store)
|
||||
{
|
||||
char buf[1024];
|
||||
|
||||
/* 需要先将文件内容清空 */
|
||||
#if 0
|
||||
if (acl_file_ftruncate(store->fh.fp, 0) < 0) {
|
||||
acl_msg_error("%s(%d), %s: ftruncate %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->fh.fp), acl_last_serror());
|
||||
return (-1);
|
||||
}
|
||||
#endif
|
||||
if (acl_vstream_fseek(store->fh.fp, SEEK_SET, 0) < 0) {
|
||||
acl_msg_error("%s(%d), %s: fseek %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->fh.fp), acl_last_serror());
|
||||
}
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s:%s %d %lld %lld %lld\r\n",
|
||||
store->tag, store->sid, store->step, store->cur_gid,
|
||||
store->min_gid, store->max_gid);
|
||||
|
||||
/* 初始化文件内容: tag:sid step cur_gid min_gid max_gid\r\n */
|
||||
if (acl_vstream_writen(store->fh.fp,
|
||||
buf, strlen(buf)) == ACL_VSTREAM_EOF)
|
||||
{
|
||||
acl_msg_error("%s(%d), %s: write to %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->fh.fp), acl_last_serror());
|
||||
return (-1);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* 文件打开时的回调函数,有可能是打开了缓存句柄对象 */
|
||||
|
||||
static int gid_store_on_open(ACL_FHANDLE *fh, void *ctx)
|
||||
{
|
||||
GID_STORE *store = (GID_STORE*) fh;
|
||||
GID_STORE_CTX *sc = (GID_STORE_CTX*) ctx;
|
||||
ACL_ARGV *argv;
|
||||
char buf[512], *ptr;
|
||||
int ret;
|
||||
|
||||
/* 检查是否有问题 */
|
||||
if (fh->size != sizeof(GID_STORE))
|
||||
acl_msg_fatal("%s(%d), %s: size(%d) != GID_STORE's size(%d)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
(int) fh->size, (int) sizeof(GID_STORE));
|
||||
|
||||
/* 如果是新文件则初始化 */
|
||||
if (fh->fsize == 0) {
|
||||
ACL_SAFE_STRNCPY(store->tag, sc->tag, sizeof(store->tag));
|
||||
ACL_SAFE_STRNCPY(store->sid, sc->sid, sizeof(store->sid));
|
||||
store->step = sc->step;
|
||||
store->cur_gid = sc->cur_gid;
|
||||
store->min_gid = sc->min_gid;
|
||||
store->max_gid = sc->max_gid;
|
||||
|
||||
return (gid_store_sync(store));
|
||||
}
|
||||
|
||||
/* 数据格式:tag:sid step cur_gid min_gid max_gid\r\n */
|
||||
|
||||
/* 从文件中获得数据 */
|
||||
ret = acl_vstream_gets_nonl(fh->fp, buf, sizeof(buf));
|
||||
if (ret == ACL_VSTREAM_EOF) {
|
||||
acl_msg_error("%s(%d), %s: gets from %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(fh->fp), acl_last_serror());
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 拆分字符串 */
|
||||
argv = acl_argv_split(buf, ",\t ");
|
||||
if (argv->argc < 5) {
|
||||
acl_msg_error("%s(%d), %s: invalid line(%s) from %s",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
buf, ACL_VSTREAM_PATH(fh->fp));
|
||||
acl_argv_free(argv);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
ACL_SAFE_STRNCPY(store->tag, argv->argv[0], sizeof(store->tag));
|
||||
ptr = strchr(store->tag, ':');
|
||||
if (ptr) {
|
||||
*ptr++ = 0;
|
||||
ACL_SAFE_STRNCPY(store->sid, ptr, sizeof(store->sid));
|
||||
}
|
||||
store->step = atoi(argv->argv[1]);
|
||||
|
||||
/* 如果存储的步进值与参数中的步进值不一致,则优先采用参数步进值 */
|
||||
if (store->step != sc->step) {
|
||||
acl_msg_warn("%s(%d), %s: change step from %d to %d for %s",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
store->step, sc->step, ACL_VSTREAM_PATH(fh->fp));
|
||||
store->step = sc->step;
|
||||
}
|
||||
store->cur_gid = atoll(argv->argv[2]);
|
||||
store->min_gid = atoll(argv->argv[3]);
|
||||
store->max_gid = atoll(argv->argv[4]);
|
||||
|
||||
acl_argv_free(argv);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* 文件句柄真正关闭时的回调函数 */
|
||||
|
||||
static void gid_store_on_close(ACL_FHANDLE *fh acl_unused)
|
||||
{
|
||||
GID_STORE *store = (GID_STORE*) fh;
|
||||
|
||||
/* 当设置了非实时同步标记时才需要在文件句柄关闭时同步磁盘 */
|
||||
if (__sync_gid == 0 && gid_store_sync(store) < 0)
|
||||
acl_msg_fatal("%s(%d), %s: save %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->fh.fp), acl_last_serror());
|
||||
}
|
||||
|
||||
/* 打开文件,如果文件不存在则创建新的文件,如果文件句柄已经存在则直接返回 */
|
||||
|
||||
static GID_STORE *gid_store_open(const char *path, const char *tag,
|
||||
const char *sid, unsigned int step)
|
||||
{
|
||||
char filepath[1024];
|
||||
unsigned int oflags = ACL_FHANDLE_O_NOATIME
|
||||
| ACL_FHANDLE_O_MLOCK
|
||||
| ACL_FHANDLE_O_EXCL;
|
||||
GID_STORE *store;
|
||||
GID_STORE_CTX ctx;
|
||||
|
||||
ACL_SAFE_STRNCPY(ctx.tag, tag, sizeof(ctx.tag));
|
||||
ACL_SAFE_STRNCPY(ctx.sid, sid, sizeof(ctx.sid));
|
||||
ctx.step = step;
|
||||
ctx.cur_gid = 0;
|
||||
ctx.min_gid = 1;
|
||||
ctx.max_gid = 0x7FFFFFFFFFFFFFFFllu;
|
||||
|
||||
snprintf(filepath, sizeof(filepath), "%s/%s", path, tag);
|
||||
store = (GID_STORE*) acl_fhandle_open(sizeof(GID_STORE), oflags,
|
||||
filepath, gid_store_on_open, &ctx, gid_store_on_close);
|
||||
if (store == NULL)
|
||||
acl_msg_fatal("%s(%d), %s: open %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
filepath, acl_last_serror());
|
||||
return (store);
|
||||
}
|
||||
|
||||
/* 获得当前本地时间 */
|
||||
|
||||
static void logtime_fmt(char *buf, size_t size)
|
||||
{
|
||||
time_t now;
|
||||
struct tm local_time;
|
||||
|
||||
(void) time (&now);
|
||||
(void) localtime_r(&now, &local_time);
|
||||
strftime(buf, size, "%Y/%m/%d %H:%M:%S", &local_time);
|
||||
}
|
||||
|
||||
/* 记录日志 */
|
||||
|
||||
static void gid_logger(GID_STORE *store)
|
||||
{
|
||||
char buf[128];
|
||||
|
||||
if (store->logger == NULL)
|
||||
return;
|
||||
|
||||
logtime_fmt(buf, sizeof(buf));
|
||||
if (acl_vstream_fprintf(store->logger, "%s|%s %lld\r\n",
|
||||
buf, store->tag, store->cur_gid) == ACL_VSTREAM_EOF)
|
||||
{
|
||||
acl_msg_error("%s(%d), %s: fprintf to %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->logger), acl_last_serror());
|
||||
store->logger = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
acl_int64 gid_next(const char *path, const char *tag_in,
|
||||
unsigned int step, int *errnum)
|
||||
{
|
||||
acl_int64 gid;
|
||||
char tag[128], *sid;
|
||||
GID_STORE *store;
|
||||
|
||||
/* 需要从 tag 串中分离出 sid 串 */
|
||||
ACL_SAFE_STRNCPY(tag, tag_in, sizeof(tag));
|
||||
sid = strchr(tag, ':');
|
||||
if (sid)
|
||||
*sid++ = 0;
|
||||
else
|
||||
sid = "";
|
||||
store = gid_store_open(path, tag, sid, step);
|
||||
|
||||
if (store->sid[0] != 0) {
|
||||
if (sid == NULL || strcmp(sid, store->sid) != 0) {
|
||||
acl_msg_error("%s(%d), %s: input sid(%s) invalid",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
sid && *sid ? sid : "null");
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_SID;
|
||||
|
||||
/* 关闭文件句柄,延迟 60 秒后关闭 */
|
||||
acl_fhandle_close(&store->fh, 60);
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
|
||||
/* 如果已经达到最大值,则崩溃了! */
|
||||
if (store->max_gid - (unsigned int) store->step <= store->cur_gid) {
|
||||
acl_msg_error("%s(%d), %s: %s Override!!, max_gid: %lld,"
|
||||
" step: %d, cur_gid: %lld", __FILE__, __LINE__,
|
||||
__FUNCTION__, ACL_VSTREAM_PATH(store->fh.fp),
|
||||
store->max_gid, store->step, store->cur_gid);
|
||||
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_OVERRIDE;
|
||||
/* 关闭文件句柄,延迟 60 秒后关闭 */
|
||||
acl_fhandle_close(&store->fh, 60);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
store->cur_gid += store->step;
|
||||
gid = store->cur_gid;
|
||||
|
||||
if (__sync_gid && gid_store_sync(store) < 0) {
|
||||
if (errnum)
|
||||
*errnum = GID_ERR_SAVE;
|
||||
acl_msg_error("%s(%d), %s: save %s error(%s)",
|
||||
__FILE__, __LINE__, __FUNCTION__,
|
||||
ACL_VSTREAM_PATH(store->fh.fp),
|
||||
acl_last_serror());
|
||||
|
||||
/* 关闭文件句柄,延迟 60 秒后关闭 */
|
||||
acl_fhandle_close(&store->fh, 60);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 记日志 */
|
||||
if (store->logger)
|
||||
gid_logger(store);
|
||||
|
||||
/* 关闭文件句柄,延迟 60 秒后关闭 */
|
||||
acl_fhandle_close(&store->fh, 60);
|
||||
|
||||
if (errnum)
|
||||
*errnum = GID_OK;
|
||||
return (gid);
|
||||
}
|
||||
|
||||
const char *gid_serror(int errnum)
|
||||
{
|
||||
static const struct {
|
||||
int err;
|
||||
const char *str;
|
||||
} errors[] = {
|
||||
{ GID_OK, "ok" },
|
||||
{ GID_ERR_SID, "sid invalid" },
|
||||
{ GID_ERR_OVERRIDE, "gid override" },
|
||||
{ GID_ERR_SAVE, "gid save error" },
|
||||
{ 0, 0 }
|
||||
};
|
||||
static const char *unknown = "unkown error";
|
||||
int i;
|
||||
|
||||
for (i = 0; errors[i].str != NULL; i++) {
|
||||
if (errnum == errors[i].err)
|
||||
return (errors[i].str);
|
||||
}
|
||||
return (unknown);
|
||||
}
|
||||
|
||||
void gid_init(int fh_limit, int sync_gid, int debug_section)
|
||||
{
|
||||
__sync_gid = sync_gid;
|
||||
acl_fhandle_init(fh_limit, debug_section, ACL_FHANDLE_F_LOCK);
|
||||
}
|
||||
|
||||
void gid_finish()
|
||||
{
|
||||
acl_fhandle_end();
|
||||
}
|
121
app/gid/gid_server/src/http_json.c
Normal file
121
app/gid/gid_server/src/http_json.c
Normal file
@ -0,0 +1,121 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
#include "gid_oper.h"
|
||||
#include "global.h"
|
||||
#include "http_service.h"
|
||||
|
||||
static int json_new_gid(ACL_VSTREAM *client, int keep_alive, ACL_JSON *json)
|
||||
{
|
||||
acl_int64 gid;
|
||||
char buf[256], tag[64];
|
||||
int errnum;
|
||||
ACL_ARRAY *a;
|
||||
|
||||
#define STR acl_vstring_str
|
||||
|
||||
ACL_SAFE_STRNCPY(tag, "default:", sizeof(tag));
|
||||
a = acl_json_getElementsByTagName(json, "tag");
|
||||
if (a != NULL) {
|
||||
ACL_ITER iter;
|
||||
acl_foreach(iter, a) {
|
||||
ACL_JSON_NODE *node = (ACL_JSON_NODE*) iter.data;
|
||||
if (ACL_VSTRING_LEN(node->text) == 0)
|
||||
continue;
|
||||
ACL_SAFE_STRNCPY(tag, STR(node->text), sizeof(tag));
|
||||
break;
|
||||
}
|
||||
acl_json_free_array(a);
|
||||
}
|
||||
|
||||
errnum = 0;
|
||||
gid = gid_next(var_cfg_gid_path, tag, var_cfg_gid_step, &errnum);
|
||||
if (gid >= 0)
|
||||
snprintf(buf, sizeof(buf),
|
||||
"{ status: 'ok', gid: '%lld', tag: '%s' }\r\n",
|
||||
gid, tag);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "{ status: 'error',"
|
||||
" gid: '%lld', tag: '%s', err: '%d', msg: '%s' }\r\n",
|
||||
gid, tag, errnum, gid_serror(errnum));
|
||||
|
||||
return (http_server_send_respond(client, 200, keep_alive,
|
||||
buf, (int) strlen(buf)));
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
typedef struct PROTO_JSON {
|
||||
/* 命令字 */
|
||||
const char *cmd;
|
||||
|
||||
/* 协议处理函数句柄 */
|
||||
int (*handle)(ACL_VSTREAM *client, int keep_alive, ACL_JSON*);
|
||||
} PROTO_JSON;
|
||||
|
||||
/* 协议命令处理函数映射表 */
|
||||
static PROTO_JSON __proto_json_tab[] = {
|
||||
{ CMD_NEW_GID, json_new_gid },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
/* 处理 json 数据格式的请求 */
|
||||
|
||||
int http_json_service(ACL_VSTREAM *client,
|
||||
HTTP_HDR_REQ *hdr_req, ACL_JSON *json)
|
||||
{
|
||||
ACL_ARRAY *a;
|
||||
ACL_ITER iter;
|
||||
char cmd[128];
|
||||
int ret, i, keep_alive = 0;
|
||||
|
||||
/* json 数据格式要求: { cmd: xxx, tag: xxx:sid } */
|
||||
|
||||
/* 获得 cmd 命令字 */
|
||||
|
||||
a = acl_json_getElementsByTagName(json, "cmd");
|
||||
if (a == NULL) {
|
||||
acl_msg_error("%s(%d), %s: json error",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 从 JSON 对象获得命令字 */
|
||||
cmd[0] = 0;
|
||||
acl_foreach(iter, a) {
|
||||
ACL_JSON_NODE *node = (ACL_JSON_NODE*) iter.data;
|
||||
if (ACL_VSTRING_LEN(node->text) == 0)
|
||||
continue;
|
||||
ACL_SAFE_STRNCPY(cmd, acl_vstring_str(node->text), sizeof(cmd));
|
||||
break;
|
||||
}
|
||||
acl_json_free_array(a);
|
||||
|
||||
if (cmd[0] == 0) {
|
||||
acl_msg_error("%s(%d), %s: no cmd",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 客户端是否要求保持长连接 */
|
||||
keep_alive = hdr_req->hdr.keep_alive;
|
||||
|
||||
/* 查询对应命令的处理函数对象 */
|
||||
ret = -1;
|
||||
for (i = 0; __proto_json_tab[i].cmd != NULL; i++) {
|
||||
if (strcasecmp(cmd, __proto_json_tab[i].cmd) == 0) {
|
||||
ret = __proto_json_tab[i].handle(
|
||||
client, keep_alive, json);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (__proto_json_tab[i].cmd == NULL)
|
||||
acl_msg_error("%s(%d), %s: cmd(%s) invalid",
|
||||
__FILE__, __LINE__, __FUNCTION__, cmd);
|
||||
|
||||
if (ret < 0)
|
||||
return (-1); /* 出错 */
|
||||
else if (keep_alive)
|
||||
return (1); /* 正常且需要保持长连接 */
|
||||
else
|
||||
return (0); /* 正常便是短连接 */
|
||||
}
|
131
app/gid/gid_server/src/http_service.c
Normal file
131
app/gid/gid_server/src/http_service.c
Normal file
@ -0,0 +1,131 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "http_service.h"
|
||||
|
||||
/* 将数据返回给 HTTP 客户端 */
|
||||
|
||||
int http_server_send_respond(ACL_VSTREAM* client, int status,
|
||||
int keep_alive, char* body, int len)
|
||||
{
|
||||
int ret;
|
||||
struct iovec vector[2]; /* 数据数组 */
|
||||
ACL_VSTRING* buf = acl_vstring_alloc(256);
|
||||
HTTP_HDR_RES* hdr_res = http_hdr_res_static(status);
|
||||
|
||||
/* 在请求头中设置请求体的数据长度 */
|
||||
http_hdr_put_int(&hdr_res->hdr, "Content-Length", len);
|
||||
/* 设置长连接选项 */
|
||||
http_hdr_put_str(&hdr_res->hdr, "Connection",
|
||||
keep_alive ? "keep-alive" : "close");
|
||||
|
||||
/* 构建 HTTP 响应头数据 */
|
||||
http_hdr_build(&hdr_res->hdr, buf);
|
||||
|
||||
/* 设置 HTTP 头 */
|
||||
vector[0].iov_base = acl_vstring_str(buf);
|
||||
vector[0].iov_len = ACL_VSTRING_LEN(buf);
|
||||
/* 设置 HTTP 体 */
|
||||
vector[1].iov_base = body;
|
||||
vector[1].iov_len = len;
|
||||
|
||||
/* 发送响应头及响应体 */
|
||||
ret = acl_vstream_writevn(client, vector, 2);
|
||||
/* 释放 HTTP 响应头对象 */
|
||||
http_hdr_res_free(hdr_res);
|
||||
/* 释放缓冲区 */
|
||||
acl_vstring_free(buf);
|
||||
|
||||
if (ret == ACL_VSTREAM_EOF)
|
||||
return -1;
|
||||
|
||||
/* 发送HTTP响应成功 */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* HTTP 协议处理过程入口 */
|
||||
|
||||
int http_service(ACL_VSTREAM *client)
|
||||
{
|
||||
HTTP_HDR_REQ *hdr_req = http_hdr_req_new();
|
||||
HTTP_REQ *req;
|
||||
char buf[4096];
|
||||
int ret, json_fmt;
|
||||
const char *ptr;
|
||||
|
||||
/* 读取HTTP请求头 */
|
||||
ret = http_hdr_req_get_sync(hdr_req, client, var_cfg_io_timeout);
|
||||
if (ret < 0) {
|
||||
http_hdr_req_free(hdr_req);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 分析HTTP请求头 */
|
||||
if (http_hdr_req_parse(hdr_req) < 0) {
|
||||
http_hdr_req_free(hdr_req);
|
||||
acl_msg_error("%s(%d), %s: http request header invalid",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 必须保证数据体长度 > 0 */
|
||||
if (hdr_req->hdr.content_length <= 0) {
|
||||
http_hdr_req_free(hdr_req);
|
||||
acl_msg_error("%s(%d), %s: http request header invalid",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 从 HTTP 请求头中获取请求体中的数据格式:XML 或 JSON 格式 */
|
||||
ptr = http_hdr_entry_value(&hdr_req->hdr, "x-gid-format");
|
||||
if (ptr != NULL && strcasecmp(ptr, "xml") == 0)
|
||||
json_fmt = 0;
|
||||
else
|
||||
json_fmt = 1;
|
||||
|
||||
req = http_req_new(hdr_req); /* 创建HTTP请求对象 */
|
||||
|
||||
if (json_fmt) {
|
||||
ACL_JSON *json = acl_json_alloc(); /* 创建JSON解析器对象 */
|
||||
|
||||
/* 不断从客户端连接中读取数据,并放入JSON解析器中进行解析 */
|
||||
while (1) {
|
||||
ret = http_req_body_get_sync(req, client,
|
||||
buf, sizeof(buf) - 1);
|
||||
if (ret < 0) {
|
||||
/* 说明没有读到所要求的数据长度,表明出错 */
|
||||
http_req_free(req);
|
||||
acl_json_free(json);
|
||||
return (-1);
|
||||
} else if (ret == 0) /* 表明已经读完了所有的数据 */
|
||||
break;
|
||||
buf[ret] = 0;
|
||||
acl_json_update(json, buf);
|
||||
}
|
||||
|
||||
ret = http_json_service(client, hdr_req, json);
|
||||
acl_json_free(json);
|
||||
} else {
|
||||
ACL_XML *xml = acl_xml_alloc(); /* 创建XML解析器对象 */
|
||||
|
||||
while (1) {
|
||||
ret = http_req_body_get_sync(req, client,
|
||||
buf, sizeof(buf) - 1);
|
||||
if (ret < 0) {
|
||||
http_req_free(req);
|
||||
acl_xml_free(xml);
|
||||
return (-1);
|
||||
} else if (ret == 0)
|
||||
break;
|
||||
buf[ret] = 0;
|
||||
acl_xml_update(xml, buf);
|
||||
}
|
||||
|
||||
ret = http_xml_service(client, hdr_req, xml);
|
||||
acl_xml_free(xml);
|
||||
}
|
||||
|
||||
http_req_free(req);
|
||||
return (ret);
|
||||
}
|
128
app/gid/gid_server/src/http_xml.c
Normal file
128
app/gid/gid_server/src/http_xml.c
Normal file
@ -0,0 +1,128 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#include "gid_oper.h"
|
||||
#include "global.h"
|
||||
#include "http_service.h"
|
||||
|
||||
static int xml_new_gid(ACL_VSTREAM *client, int keep_alive, ACL_XML_NODE *node)
|
||||
{
|
||||
acl_int64 gid;
|
||||
char buf[256], tag[64];
|
||||
const char *ptr;
|
||||
int errnum = 0;
|
||||
|
||||
#define STR acl_vstring_str
|
||||
|
||||
ACL_SAFE_STRNCPY(tag, "default:", sizeof(tag));
|
||||
ptr = acl_xml_getElementAttrVal(node, "tag");
|
||||
if (ptr && *ptr) {
|
||||
ACL_SAFE_STRNCPY(tag, ptr, sizeof(tag));
|
||||
}
|
||||
|
||||
gid = gid_next(var_cfg_gid_path, tag, var_cfg_gid_step, &errnum);
|
||||
if (gid >= 0)
|
||||
snprintf(buf, sizeof(buf),
|
||||
"<respond status='ok' gid='%lld' tag='%s' />\r\n", gid, tag);
|
||||
else
|
||||
snprintf(buf, sizeof(buf),
|
||||
"<respond status='error' gid='%lld' tag='%s'"
|
||||
" err='%d' msg='%s' />\r\n",
|
||||
gid, tag, errnum, gid_serror(errnum));
|
||||
|
||||
return (http_server_send_respond(client, 200, keep_alive,
|
||||
buf, (int) strlen(buf)));
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
typedef struct PROTO_XML {
|
||||
/* 命令字 */
|
||||
const char *cmd;
|
||||
|
||||
/* 协议处理函数句柄 */
|
||||
int (*handle)(ACL_VSTREAM *client, int keep_alive, ACL_XML_NODE*);
|
||||
} PROTO_XML;
|
||||
|
||||
/* 协议命令处理函数映射表 */
|
||||
static PROTO_XML __proto_xml_tab[] = {
|
||||
{ CMD_NEW_GID, xml_new_gid },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
/* 处理 xml 数据格式的请求 */
|
||||
|
||||
int http_xml_service(ACL_VSTREAM *client,
|
||||
HTTP_HDR_REQ *hdr_req, ACL_XML *xml)
|
||||
{
|
||||
ACL_ARRAY *a;
|
||||
ACL_ITER iter;
|
||||
char cmd[128];
|
||||
const char *ptr;
|
||||
ACL_XML_NODE *node;
|
||||
int ret, i, keep_alive = 0;
|
||||
|
||||
/* xml 数据格式要求: <request cmd='xxx' tag='xxx:sid' /> */
|
||||
|
||||
/* 获得 cmd 命令字 */
|
||||
|
||||
a = acl_xml_getElementsByTagName(xml, "request");
|
||||
if (a == NULL) {
|
||||
acl_msg_error("%s(%d), %s: xml error",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 找到第一个结点即可 */
|
||||
|
||||
node = NULL;
|
||||
acl_foreach(iter, a) {
|
||||
node = (ACL_XML_NODE*) iter.data;
|
||||
break;
|
||||
}
|
||||
|
||||
/* 从 xml 对象获得命令字 */
|
||||
|
||||
ptr = acl_xml_getElementAttrVal(node, "cmd");
|
||||
if (ptr == NULL || *ptr == 0) {
|
||||
acl_msg_error("%s(%d), %s: no cmd attr",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
acl_xml_free_array(a);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
ACL_SAFE_STRNCPY(cmd, ptr, sizeof(cmd));
|
||||
if (cmd[0] == 0) {
|
||||
acl_xml_free_array(a);
|
||||
acl_msg_error("%s(%d), %s: no cmd",
|
||||
__FILE__, __LINE__, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* 客户端是否要求保持长连接 */
|
||||
keep_alive = hdr_req->hdr.keep_alive;
|
||||
|
||||
/* 查询对应命令的处理函数对象 */
|
||||
ret = -1;
|
||||
for (i = 0; __proto_xml_tab[i].cmd != NULL; i++) {
|
||||
if (strcasecmp(cmd, __proto_xml_tab[i].cmd) == 0) {
|
||||
ret = __proto_xml_tab[i].handle(
|
||||
client, keep_alive, node);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 必须是在不用 node 时才可以释放该数组对象 */
|
||||
acl_xml_free_array(a);
|
||||
|
||||
if (__proto_xml_tab[i].cmd == NULL)
|
||||
acl_msg_error("%s(%d), %s: cmd(%s) invalid",
|
||||
__FILE__, __LINE__, __FUNCTION__, cmd);
|
||||
|
||||
if (ret < 0)
|
||||
return (-1); /* 出错 */
|
||||
else if (keep_alive)
|
||||
return (1); /* 正常且需要保持长连接 */
|
||||
else
|
||||
return (0); /* 正常便是短连接 */
|
||||
}
|
173
app/gid/gid_server/src/service_main.c
Normal file
173
app/gid/gid_server/src/service_main.c
Normal file
@ -0,0 +1,173 @@
|
||||
#include "lib_acl.h"
|
||||
#include "lib_protocol.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "gid_oper.h"
|
||||
#include "cmdline_service.h"
|
||||
#include "http_service.h"
|
||||
#include "service_main.h"
|
||||
|
||||
/* ÅäÖÃÎļþÏî */
|
||||
|
||||
/* TODO: you can add configure items here */
|
||||
|
||||
int var_cfg_debug_mem;
|
||||
int var_cfg_loop_enable;
|
||||
int var_cfg_sync_gid;
|
||||
|
||||
ACL_CONFIG_BOOL_TABLE service_conf_bool_tab[] = {
|
||||
/* TODO: you can add configure variables of (bool) type here */
|
||||
{ "debug_mem", 0, &var_cfg_debug_mem },
|
||||
{ "loop_enable", 0, &var_cfg_loop_enable },
|
||||
{ "sync_gid", 1, &var_cfg_sync_gid },
|
||||
{ 0, 0, 0 },
|
||||
};
|
||||
|
||||
int var_cfg_debug_section;
|
||||
int var_cfg_gid_step;
|
||||
int var_cfg_gid_test;
|
||||
int var_cfg_fh_limit;
|
||||
int var_cfg_io_timeout;
|
||||
|
||||
ACL_CONFIG_INT_TABLE service_conf_int_tab[] = {
|
||||
/* TODO: you can add configure variables of int type here */
|
||||
{ "debug_section", 120, &var_cfg_fh_limit, 0, 0 },
|
||||
{ "gid_step", 1, &var_cfg_gid_step, 0, 0 },
|
||||
{ "gid_test", 50000, &var_cfg_gid_test, 0, 0 },
|
||||
{ "fh_limit", 100, &var_cfg_fh_limit, 0, 0 },
|
||||
{ "io_timeout", 30, &var_cfg_io_timeout, 0, 0 },
|
||||
{ 0, 0, 0, 0, 0 },
|
||||
};
|
||||
|
||||
char *var_cfg_gid_path;
|
||||
char *var_cfg_proto_list;
|
||||
char *var_cfg_proto_default;
|
||||
|
||||
ACL_CONFIG_STR_TABLE service_conf_str_tab[] = {
|
||||
/* TODO: you can add configure variables of (char *) type here */
|
||||
{ "gid_path", "./var", &var_cfg_gid_path },
|
||||
{ "proto_list", "http|127.0.0.1:7070|127.0.0.1:7071, cmdline|127.0.0.1:7072|127.0.0.1:7073", &var_cfg_proto_list },
|
||||
{ "proto_default", "http", &var_cfg_proto_default },
|
||||
{ 0, 0, 0 },
|
||||
};
|
||||
|
||||
typedef struct PROTO {
|
||||
char name[32];
|
||||
char addr[256];
|
||||
size_t len;
|
||||
int (*service)(ACL_VSTREAM*);
|
||||
} PROTO;
|
||||
|
||||
static ACL_ARRAY *__proto_map = NULL;
|
||||
static int (*__default_service)(ACL_VSTREAM*) = NULL;
|
||||
|
||||
static void proto_add(const char *data)
|
||||
{
|
||||
int (*service)(ACL_VSTREAM*) = NULL;
|
||||
ACL_ARGV *tokens = acl_argv_split(data, "|");
|
||||
PROTO *proto;
|
||||
int i;
|
||||
|
||||
if (tokens->argc < 2) {
|
||||
acl_msg_error("invalid proto: %s", data);
|
||||
acl_argv_free(tokens);
|
||||
return;
|
||||
}
|
||||
|
||||
if (strcasecmp(tokens->argv[0], "cmdline") == 0)
|
||||
service = cmdline_service;
|
||||
else if (strcasecmp(tokens->argv[0], "http") == 0)
|
||||
service = http_service;
|
||||
else {
|
||||
acl_msg_error("invalid service name: %s", tokens->argv[0]);
|
||||
acl_argv_free(tokens);
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 1; i < tokens->argc; i++) {
|
||||
proto = (struct PROTO*) acl_mymalloc(sizeof(struct PROTO));
|
||||
proto->service = service;
|
||||
snprintf(proto->name, sizeof(proto->name), "%s", tokens->argv[0]);
|
||||
snprintf(proto->addr, sizeof(proto->addr), "%s", tokens->argv[i]);
|
||||
proto->len = strlen(proto->addr);
|
||||
acl_array_append(__proto_map, proto);
|
||||
}
|
||||
|
||||
acl_argv_free(tokens);
|
||||
}
|
||||
|
||||
static void parse_proto_list(void)
|
||||
{
|
||||
ACL_ARGV *tokens = acl_argv_split(var_cfg_proto_list, ",; \t");
|
||||
ACL_ITER iter;
|
||||
|
||||
__proto_map = acl_array_create(1);
|
||||
acl_foreach(iter, tokens) {
|
||||
proto_add((const char*) iter.data);
|
||||
}
|
||||
|
||||
acl_argv_free(tokens);
|
||||
}
|
||||
|
||||
/* ³õʼ»¯º¯Êý */
|
||||
void service_init(void *ctx acl_unused)
|
||||
{
|
||||
if (var_cfg_debug_mem) {
|
||||
acl_memory_debug_start();
|
||||
acl_memory_debug_stack(1);
|
||||
}
|
||||
|
||||
if (strcasecmp(var_cfg_proto_default, "cmdline") == 0)
|
||||
__default_service = cmdline_service;
|
||||
else
|
||||
__default_service = http_service;
|
||||
|
||||
parse_proto_list();
|
||||
gid_init(var_cfg_fh_limit, var_cfg_sync_gid, var_cfg_debug_section);
|
||||
}
|
||||
|
||||
void service_exit(void *ctx acl_unused)
|
||||
{
|
||||
if (__proto_map != NULL)
|
||||
acl_array_free(__proto_map, acl_myfree_fn);
|
||||
|
||||
gid_finish();
|
||||
}
|
||||
|
||||
int service_main(ACL_VSTREAM *client, void *ctx acl_unused)
|
||||
{
|
||||
int (*service)(ACL_VSTREAM*) = NULL;
|
||||
int ret;
|
||||
char addr[256];
|
||||
ACL_ITER iter;
|
||||
PROTO *proto;
|
||||
|
||||
if (acl_getsockname(ACL_VSTREAM_SOCK(client), addr, sizeof(addr)) < 0) {
|
||||
acl_msg_error("can't get local addr from fd: %d",
|
||||
ACL_VSTREAM_SOCK(client));
|
||||
return -1;
|
||||
}
|
||||
|
||||
acl_foreach(iter, __proto_map) {
|
||||
proto = (PROTO*) iter.data;
|
||||
if (acl_strrncasecmp(proto->addr, addr, proto->len) == 0) {
|
||||
service = proto->service;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (service == NULL) {
|
||||
service = __default_service;
|
||||
acl_msg_info("user default service for %s", var_cfg_proto_default);
|
||||
}
|
||||
|
||||
if (var_cfg_loop_enable) {
|
||||
while (1) {
|
||||
if ((ret = service(client)) != 1)
|
||||
return (-1);
|
||||
}
|
||||
} else if (service(client) != 1)
|
||||
return (-1);
|
||||
else
|
||||
return (0);
|
||||
}
|
116
app/gid/gid_server/test/Makefile
Normal file
116
app/gid/gid_server/test/Makefile
Normal file
@ -0,0 +1,116 @@
|
||||
SHELL = /bin/sh
|
||||
CC = g++
|
||||
CC = gcc
|
||||
#CC = ${MY_ENV_CC}
|
||||
AR = ar
|
||||
ARFL = rv
|
||||
#ARFL = cru
|
||||
RANLIB = ranlib
|
||||
|
||||
CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
-Waggregate-return \
|
||||
-Wno-long-long \
|
||||
-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
|
||||
#CFLAGS = -c -g -W -Wall -Wcast-qual -Wcast-align \
|
||||
#-Waggregate-return -Wmissing-prototypes \
|
||||
#-Wpointer-arith -Werror -Wshadow -O2 \
|
||||
#-D_POSIX_PTHREAD_SEMANTICS -D_USE_FAST_MACRO
|
||||
###########################################################
|
||||
#Check system:
|
||||
# Linux, SunOS, Solaris, BSD variants, AIX, HP-UX
|
||||
SYSLIB = -lpthread -lcrypt -lz
|
||||
CHECKSYSRES = @echo "Unknow system type!";exit 1
|
||||
UNIXNAME = $(shell uname -sm)
|
||||
OSTYPE = $(shell uname -p)
|
||||
RPATH =
|
||||
|
||||
ifeq ($(CC),)
|
||||
CC = gcc
|
||||
endif
|
||||
|
||||
#Path for Linux
|
||||
ifeq ($(findstring Linux, $(UNIXNAME)), Linux)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DLINUX2 -D_REENTRANT -pedantic
|
||||
|
||||
ifeq ($(findstring i686, $(OSTYPE)), i686)
|
||||
RPATH = linux32
|
||||
FLAG_OS = LINUX32
|
||||
endif
|
||||
ifeq ($(findstring x86_64, $(OSTYPE)), x86_64)
|
||||
RPATH = linux64
|
||||
FLAG_OS = LINUX64
|
||||
endif
|
||||
endif
|
||||
|
||||
#Path for SunOS
|
||||
ifeq ($(findstring SunOS, $(UNIXNAME)), SunOS)
|
||||
ifeq ($(findstring 86, $(UNIXNAME)), 86)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($(findstring sun4u, $(UNIXNAME)), sun4u)
|
||||
SYSLIB += -lsocket -lnsl -lrt
|
||||
endif
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DSUNOS5 -D_REENTRANT -pedantic
|
||||
endif
|
||||
|
||||
#Path for HP-UX
|
||||
ifeq ($(findstring HP-UX, $(UNIXNAME)), HP-UX)
|
||||
ifeq ($CC, "gcc")
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
endif
|
||||
CFLAGS += -DHP_UX -DHPUX11
|
||||
PLAT_NAME=hp-ux
|
||||
endif
|
||||
|
||||
#Find system type.
|
||||
ifneq ($(SYSPATH),)
|
||||
CHECKSYSRES = @echo "System is $(shell uname -sm)"
|
||||
endif
|
||||
###########################################################
|
||||
BASE_PATH = /opt/import_lib
|
||||
|
||||
BASE_LIB_PATH = $(BASE_PATH)/lib
|
||||
BASE_INC_PATH = $(BASE_PATH)/include
|
||||
|
||||
ACL_LIB = $(BASE_LIB_PATH)
|
||||
ACL_INC = $(BASE_INC_PATH)/acl
|
||||
|
||||
CFLAGS += $(INC_COMPILE)
|
||||
|
||||
INC_COMPILE = -I$(ACL_INC) -I$(BASE_INC_PATH) -I./include
|
||||
LIB_COMPILE = -L$(ACL_LIB) -l_acl
|
||||
|
||||
###########################################################
|
||||
OUT_PATH = .
|
||||
OBJ_PATH = $(OUT_PATH)
|
||||
|
||||
#Project's objs
|
||||
SRC = $(wildcard ./*.c)
|
||||
OBJ = $(patsubst %.c, $(OBJ_PATH)/%.o, $(notdir $(SRC)))
|
||||
###########################################################
|
||||
|
||||
PROG = test
|
||||
|
||||
.PHONY = all clean
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
|
||||
$(PROG): $(OBJ)
|
||||
$(CC) $(OBJ) $(LIB_COMPILE) $(SYSLIB) -o $(PROG)
|
||||
@echo ""
|
||||
@echo "All ok! Output:$(PROG)"
|
||||
@echo ""
|
||||
|
||||
$(OBJ_PATH)/%.o: ./%.c
|
||||
$(COMPILE) $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(PROG)
|
||||
rm -f $(OBJ)
|
120
app/gid/gid_server/test/main.c
Normal file
120
app/gid/gid_server/test/main.c
Normal file
@ -0,0 +1,120 @@
|
||||
#include "lib_acl.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
|
||||
static int request(ACL_VSTREAM *client, int cmd_num, int out)
|
||||
{
|
||||
const char cmd1[] = "CMD^new_gid|TAG^default:hello\r\n";
|
||||
const char cmd2[] = "CMD^test_gid\r\n";
|
||||
const char *cmd;
|
||||
char buf[256];
|
||||
int ret;
|
||||
|
||||
if (cmd_num == 1)
|
||||
cmd = cmd1;
|
||||
else
|
||||
cmd = cmd2;
|
||||
ret = acl_vstream_writen(client, cmd, strlen(cmd));
|
||||
if (ret == ACL_VSTREAM_EOF) {
|
||||
printf("write cmd to server error\n");
|
||||
return (-1);
|
||||
}
|
||||
ret = acl_vstream_gets(client, buf, sizeof(buf));
|
||||
if (ret == ACL_VSTREAM_EOF) {
|
||||
printf("gets error\n");
|
||||
return (-1);
|
||||
}
|
||||
|
||||
if (out)
|
||||
printf(">>gets: %s\n", buf);
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void run(const char *addr, int n, int keep_alive, int cmd_num)
|
||||
{
|
||||
ACL_VSTREAM *client = NULL;
|
||||
int i, ret, out;
|
||||
time_t begin, end;
|
||||
|
||||
time(&begin);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
if (client == NULL) {
|
||||
client = acl_vstream_connect(addr, ACL_BLOCKING, 0, 0, 0);
|
||||
if (client == NULL) {
|
||||
printf("connect to %s error %s\n",
|
||||
addr, acl_last_serror());
|
||||
break;
|
||||
}
|
||||
acl_tcp_so_linger(ACL_VSTREAM_SOCK(client), 1, 0);
|
||||
}
|
||||
if ((i > 0 && i % 10000 == 0) || n <= 20)
|
||||
out = 1;
|
||||
else
|
||||
out = 0;
|
||||
ret = request(client, cmd_num, out);
|
||||
if (ret < 0)
|
||||
break;
|
||||
|
||||
if (!keep_alive) {
|
||||
acl_vstream_close(client);
|
||||
client = NULL;
|
||||
}
|
||||
|
||||
if (out) {
|
||||
printf(">>>i: %d\n", i);
|
||||
ACL_METER_TIME("----------");
|
||||
}
|
||||
}
|
||||
|
||||
time(&end);
|
||||
printf("ok, total: %d, time spent: %ld\n", i, end - begin);
|
||||
if (client)
|
||||
acl_vstream_close(client);
|
||||
}
|
||||
|
||||
static void usage(const char *procname)
|
||||
{
|
||||
printf("usage: %s -h [help] -s server_addr[127.0.0.1:7072] -n loop_count -k -i cmd_number\n", procname);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char ch, addr[32];
|
||||
int n = 1, keep_alive = 0, cmd_num = 0;
|
||||
|
||||
addr[0] = 0;
|
||||
while ((ch = getopt(argc, argv, "hks:n:i:")) > 0) {
|
||||
switch (ch) {
|
||||
case 's':
|
||||
ACL_SAFE_STRNCPY(addr, optarg, sizeof(addr));
|
||||
break;
|
||||
case 'n':
|
||||
n = atoi(optarg);
|
||||
break;
|
||||
case 'k':
|
||||
keep_alive = 1;
|
||||
break;
|
||||
case 'i':
|
||||
cmd_num = atoi(optarg);
|
||||
break;
|
||||
case 'h':
|
||||
default:
|
||||
usage(argv[0]);
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
if (addr[0] == 0 || n <= 0) {
|
||||
usage(argv[0]);
|
||||
return (0);
|
||||
}
|
||||
|
||||
run(addr, n, keep_alive, cmd_num);
|
||||
return (0);
|
||||
}
|
174
app/gid/gid_server/unix/main.c
Normal file
174
app/gid/gid_server/unix/main.c
Normal file
@ -0,0 +1,174 @@
|
||||
#include "lib_acl.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "global.h"
|
||||
#include "service_main.h"
|
||||
|
||||
static acl_pthread_pool_t *__thr_pool = NULL;
|
||||
static int __run_once = 0;
|
||||
|
||||
static void app_run(void *arg)
|
||||
{
|
||||
ACL_VSTREAM *client = (ACL_VSTREAM*) arg;
|
||||
|
||||
while (1) {
|
||||
if (service_main(client, NULL) < 0)
|
||||
break;
|
||||
if (__run_once)
|
||||
break;
|
||||
}
|
||||
|
||||
printf("close client stream now\n");
|
||||
acl_vstream_close(client);
|
||||
}
|
||||
|
||||
static void on_sigint(int signum acl_unused)
|
||||
{
|
||||
signal(SIGINT, SIG_DFL);
|
||||
if (__thr_pool)
|
||||
acl_pthread_pool_destroy(__thr_pool);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
static ACL_VSTREAM *init(const char *filepath)
|
||||
{
|
||||
ACL_VSTREAM *sstream;
|
||||
char addr[] = ":7072";
|
||||
ACL_XINETD_CFG_PARSER *cfg = NULL;
|
||||
|
||||
acl_init();
|
||||
/*
|
||||
acl_debug_malloc_init(NULL, "log.txt");
|
||||
*/
|
||||
|
||||
sstream = acl_vstream_listen(addr, 60);
|
||||
assert(sstream != NULL);
|
||||
printf("listen on: %s\n", addr);
|
||||
|
||||
if (filepath)
|
||||
cfg = acl_xinetd_cfg_load(filepath);
|
||||
|
||||
acl_xinetd_params_int_table(cfg, service_conf_int_tab);
|
||||
acl_xinetd_params_bool_table(cfg, service_conf_bool_tab);
|
||||
acl_xinetd_params_str_table(cfg, service_conf_str_tab);
|
||||
if (cfg)
|
||||
acl_xinetd_cfg_free(cfg);
|
||||
|
||||
signal(SIGINT, on_sigint); /* ע˛áłĚĐňÍËłöťŘľ÷şŻĘý */
|
||||
service_init(NULL);
|
||||
|
||||
return (sstream);
|
||||
}
|
||||
|
||||
static void end(void)
|
||||
{
|
||||
service_exit(NULL);
|
||||
acl_myfree(var_cfg_gid_path);
|
||||
acl_end();
|
||||
}
|
||||
|
||||
static void app_test_thrpool(const char *filepath)
|
||||
{
|
||||
ACL_VSTREAM *sstream;
|
||||
|
||||
sstream = init(filepath);
|
||||
__thr_pool = acl_thread_pool_create(10, 120);
|
||||
|
||||
while (1) {
|
||||
ACL_VSTREAM *client = acl_vstream_accept(sstream, NULL, 0);
|
||||
|
||||
if (client == NULL) {
|
||||
printf("accept error: %s\n", acl_last_serror());
|
||||
break;
|
||||
} else {
|
||||
printf("accept one\n");
|
||||
}
|
||||
acl_pthread_pool_add(__thr_pool, app_run, client);
|
||||
}
|
||||
|
||||
acl_vstream_close(sstream);
|
||||
}
|
||||
|
||||
static void app_test_once(const char *filepath)
|
||||
{
|
||||
ACL_VSTREAM *client, *sstream;
|
||||
|
||||
__run_once = 1;
|
||||
sstream = init(filepath);
|
||||
client = acl_vstream_accept(sstream, NULL, 0);
|
||||
app_run(client);
|
||||
printf("close sstream now\n");
|
||||
acl_vstream_close(sstream);
|
||||
end();
|
||||
}
|
||||
|
||||
static void usage(const char *procname)
|
||||
{
|
||||
printf("usage: %s help\n", procname);
|
||||
printf("usage: %s test -f conf_file -m[use mempool]\n", procname);
|
||||
}
|
||||
|
||||
static void app_test(const char *procname, int argc, char **argv)
|
||||
{
|
||||
char filepath[256];
|
||||
int ch, use_mempool = 0, use_concurrent = 0;
|
||||
|
||||
filepath[0] = 0;
|
||||
while ((ch = getopt(argc, argv, "f:mP")) > 0) {
|
||||
switch (ch) {
|
||||
case 'f':
|
||||
snprintf(filepath, sizeof(filepath), "%s", optarg);
|
||||
break;
|
||||
case 'm':
|
||||
use_mempool = 1;
|
||||
break;
|
||||
case 'P':
|
||||
use_concurrent = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (filepath[0] == 0) {
|
||||
usage(procname);
|
||||
return;
|
||||
}
|
||||
if (use_mempool)
|
||||
acl_mem_slice_init(8, 1024, 100000,
|
||||
ACL_SLICE_FLAG_GC2 |
|
||||
ACL_SLICE_FLAG_RTGC_OFF |
|
||||
ACL_SLICE_FLAG_LP64_ALIGN);
|
||||
|
||||
acl_msg_stdout_enable(1);
|
||||
|
||||
if (use_concurrent)
|
||||
app_test_thrpool(filepath);
|
||||
else
|
||||
app_test_once(filepath);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
if (argc == 2 && strcmp(argv[1], "help") == 0) {
|
||||
usage(argv[0]);
|
||||
} else if (argc >= 3 && strcmp(argv[1], "test") == 0) {
|
||||
app_test(argv[0], argc - 1, argv + 1);
|
||||
} else {
|
||||
acl_ioctl_app_main(argc, argv, service_main, NULL,
|
||||
ACL_APP_CTL_INIT_FN, service_init,
|
||||
ACL_APP_CTL_EXIT_FN, service_exit,
|
||||
ACL_APP_CTL_CFG_INT, service_conf_int_tab,
|
||||
ACL_APP_CTL_CFG_STR, service_conf_str_tab,
|
||||
ACL_APP_CTL_CFG_BOOL, service_conf_bool_tab,
|
||||
ACL_APP_CTL_END);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
3
app/gid/gid_server/valgrind.sh
Normal file
3
app/gid/gid_server/valgrind.sh
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
valgrind --tool=memcheck --leak-check=yes -v ./gid_server test -f gid_server.cf
|
73
app/gid/gid_server/win32/main.c
Normal file
73
app/gid/gid_server/win32/main.c
Normal file
@ -0,0 +1,73 @@
|
||||
#include "lib_acl.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <string.h>
|
||||
#include <getopt.h>
|
||||
|
||||
#include "service_main.h"
|
||||
|
||||
static void client_thread(int event_type acl_unused, void* arg)
|
||||
{
|
||||
ACL_WORKER_ATTR* attr = (ACL_WORKER_ATTR*) arg;
|
||||
ACL_VSTREAM *client = (ACL_VSTREAM*) attr->run_data;
|
||||
time_t last, cost;
|
||||
|
||||
while (1) {
|
||||
last = time(NULL);
|
||||
if (service_main(client, NULL) < 0)
|
||||
break;
|
||||
cost = time(NULL) - last;
|
||||
if (cost >= 1)
|
||||
printf("%s: >>> time cost = %ld\r\n", __FILE__, cost);
|
||||
}
|
||||
acl_vstream_close(client);
|
||||
}
|
||||
|
||||
static void usage(const char *progname)
|
||||
{
|
||||
printf("usage: %s -[help]\r\n"
|
||||
"-s server_addr\r\n"
|
||||
"-f regnum\r\n", progname);
|
||||
getchar();
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
ACL_VSTREAM *sstream, *client;
|
||||
ACL_WORK_QUEUE* wq = acl_workq_create(100, 60, NULL, NULL);
|
||||
char ch, *addr = "127.0.0.1:8889";
|
||||
char *regnum = "regnum";
|
||||
|
||||
while ((ch = getopt(argc, argv, "hs:f:")) > 0) {
|
||||
switch (ch) {
|
||||
default:
|
||||
case 'h':
|
||||
usage(argv[0]);
|
||||
exit (0);
|
||||
case 's':
|
||||
addr = acl_mystrdup(optarg);
|
||||
break;
|
||||
case 'f':
|
||||
regnum = optarg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var_cfg_cache_file = acl_mystrdup(regnum);
|
||||
acl_socket_init();
|
||||
service_init(NULL);
|
||||
|
||||
sstream = acl_vstream_listen(addr, 32);
|
||||
if (sstream == NULL)
|
||||
acl_msg_fatal("can't listen on addr(%s)", addr);
|
||||
|
||||
printf("started, listen on %s ...\r\n", addr);
|
||||
while (1) {
|
||||
client = acl_vstream_accept(sstream, NULL, 0);
|
||||
acl_workq_add(wq, client_thread, 0, client);
|
||||
}
|
||||
|
||||
exit (0);
|
||||
}
|
3
app/gid/readme.txt
Normal file
3
app/gid/readme.txt
Normal file
@ -0,0 +1,3 @@
|
||||
本模块主要提供唯一ID号的功能,服务器启动后,客户端可以通过
|
||||
三种协议方式连接服务器获得唯一ID,目前提供了C和JAVA版本的
|
||||
客户端API。
|
58
app/jaws/JawsCtrl/HttpService.cpp
Normal file
58
app/jaws/JawsCtrl/HttpService.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
#include "StdAfx.h"
|
||||
#include ".\httpservice.h"
|
||||
|
||||
static char *tag_addr = "--addr";
|
||||
static char *tag_http_vhost_path = "--http_vhost_path";
|
||||
static char *tag_http_vhost_default = "--http_vhost_default";
|
||||
static char *tag_http_tmpl_path = "--http_tmpl_path";
|
||||
static char *tag_http_filter_info = "--http_filter_info";
|
||||
|
||||
CHttpService::CHttpService(
|
||||
const char * procname,
|
||||
const char * addr,
|
||||
const char * vhostPath,
|
||||
const char * vhostDefault,
|
||||
const char * tmplPath,
|
||||
const char * filterInfo)
|
||||
: m_addr(_T(addr))
|
||||
, m_vhostPath(_T(vhostPath))
|
||||
, m_vhostDefault(_T(vhostDefault))
|
||||
, m_tmplPath(_T(tmplPath))
|
||||
, m_filterInfo(_T(filterInfo))
|
||||
{
|
||||
int i;
|
||||
|
||||
m_argc = 10;
|
||||
m_argv = (char **) calloc(m_argc, sizeof(char*));
|
||||
|
||||
i = 0;
|
||||
|
||||
m_argv[i++] = strdup(tag_addr);
|
||||
m_argv[i++] = strdup(addr);
|
||||
|
||||
m_argv[i++] = strdup(tag_http_vhost_path);
|
||||
m_argv[i++] = strdup(vhostPath);
|
||||
|
||||
m_argv[i++] = strdup(tag_http_vhost_default);
|
||||
m_argv[i++] = strdup(vhostDefault);
|
||||
|
||||
m_argv[i++] = strdup(tag_http_tmpl_path);
|
||||
m_argv[i++] = strdup(tmplPath);
|
||||
|
||||
m_argv[i++] = strdup(tag_http_filter_info);
|
||||
m_argv[i++] = strdup(filterInfo);
|
||||
|
||||
ASSERT(i == m_argc);
|
||||
CProcService::Init(_T(procname));
|
||||
}
|
||||
|
||||
CHttpService::~CHttpService(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < m_argc; i++)
|
||||
{
|
||||
free(m_argv[i]);
|
||||
}
|
||||
free(m_argv);
|
||||
}
|
21
app/jaws/JawsCtrl/HttpService.h
Normal file
21
app/jaws/JawsCtrl/HttpService.h
Normal file
@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
#include "procservice.h"
|
||||
|
||||
class CHttpService : public CProcService
|
||||
{
|
||||
public:
|
||||
CHttpService(
|
||||
const char *procname,
|
||||
const char *addr,
|
||||
const char * vhostPath,
|
||||
const char * vhostDefault,
|
||||
const char * tmplPath,
|
||||
const char * filterInfo);
|
||||
~CHttpService(void);
|
||||
private:
|
||||
CString m_addr;
|
||||
CString m_vhostPath;
|
||||
CString m_vhostDefault;
|
||||
CString m_tmplPath;
|
||||
CString m_filterInfo;
|
||||
};
|
83
app/jaws/JawsCtrl/JawsCtrl.cpp
Normal file
83
app/jaws/JawsCtrl/JawsCtrl.cpp
Normal file
@ -0,0 +1,83 @@
|
||||
// JawsCtrl.cpp : 定义应用程序的类行为。
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "JawsCtrl.h"
|
||||
#include "JawsCtrlDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
// CJawsCtrlApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CJawsCtrlApp, CWinApp)
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CJawsCtrlApp 构造
|
||||
|
||||
CJawsCtrlApp::CJawsCtrlApp()
|
||||
: m_singleCtrl("Jaws")
|
||||
{
|
||||
// TODO: 在此处添加构造代码,
|
||||
// 将所有重要的初始化放置在 InitInstance 中
|
||||
}
|
||||
|
||||
|
||||
// 唯一的一个 CJawsCtrlApp 对象
|
||||
|
||||
CJawsCtrlApp theApp;
|
||||
|
||||
|
||||
// CJawsCtrlApp 初始化
|
||||
|
||||
BOOL CJawsCtrlApp::InitInstance()
|
||||
{
|
||||
// 如果一个运行在 Windows XP 上的应用程序清单指定要
|
||||
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
|
||||
//则需要 InitCommonControls()。否则,将无法创建窗口。
|
||||
InitCommonControls();
|
||||
|
||||
CWinApp::InitInstance();
|
||||
|
||||
if (!m_singleCtrl.Check())
|
||||
return FALSE;
|
||||
|
||||
if (!AfxSocketInit())
|
||||
{
|
||||
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
AfxEnableControlContainer();
|
||||
|
||||
// 标准初始化
|
||||
// 如果未使用这些功能并希望减小
|
||||
// 最终可执行文件的大小,则应移除下列
|
||||
// 不需要的特定初始化例程
|
||||
// 更改用于存储设置的注册表项
|
||||
// TODO: 应适当修改该字符串,
|
||||
// 例如修改为公司或组织名
|
||||
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
|
||||
|
||||
CJawsCtrlDlg dlg;
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
{
|
||||
// TODO: 在此放置处理何时用“确定”来关闭
|
||||
//对话框的代码
|
||||
}
|
||||
else if (nResponse == IDCANCEL)
|
||||
{
|
||||
// TODO: 在此放置处理何时用“取消”来关闭
|
||||
//对话框的代码
|
||||
}
|
||||
|
||||
// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
|
||||
// 而不是启动应用程序的消息泵。
|
||||
return FALSE;
|
||||
}
|
33
app/jaws/JawsCtrl/JawsCtrl.h
Normal file
33
app/jaws/JawsCtrl/JawsCtrl.h
Normal file
@ -0,0 +1,33 @@
|
||||
// JawsCtrl.h : PROJECT_NAME 应用程序的主头文件
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error 在包含用于 PCH 的此文件之前包含“stdafx.h”
|
||||
#endif
|
||||
#include "SingleCtrl.h"
|
||||
#include "resource.h" // 主符号
|
||||
|
||||
|
||||
// CJawsCtrlApp:
|
||||
// 有关此类的实现,请参阅 JawsCtrl.cpp
|
||||
//
|
||||
|
||||
class CJawsCtrlApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CJawsCtrlApp();
|
||||
|
||||
// 重写
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
CSingleCtrl m_singleCtrl;
|
||||
|
||||
// 实现
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
extern CJawsCtrlApp theApp;
|
233
app/jaws/JawsCtrl/JawsCtrl.rc
Normal file
233
app/jaws/JawsCtrl/JawsCtrl.rc
Normal file
@ -0,0 +1,233 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// 中文(中华人民共和国) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r\n"
|
||||
"LANGUAGE 4, 2\r\n"
|
||||
"#pragma code_page(936)\r\n"
|
||||
"#include ""res\\JawsCtrl.rc2"" // 非 Microsoft Visual C++ 编辑过的资源\r\n"
|
||||
"#include ""afxres.rc"" // 标准组件\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\JawsCtrl.ico"
|
||||
IDI_MIN_ICON ICON "res\\min_icon.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
CAPTION "关于 JawsCtrl"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
|
||||
LTEXT "JawsCtrl Version 1.0",IDC_STATIC,40,10,119,8,
|
||||
SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2008",IDC_STATIC,40,25,119,8
|
||||
DEFPUSHBUTTON "确定",IDOK,178,7,50,16,WS_GROUP
|
||||
END
|
||||
|
||||
IDD_JAWSCTRL_DIALOG DIALOGEX 0, 0, 183, 175
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP |
|
||||
WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "JawsCtrl"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "IP地址:",IDC_STATIC,24,118,28,12
|
||||
LTEXT "端口号:",IDC_STATIC,24,138,28,8
|
||||
EDITTEXT IDC_EDIT_PORT,57,137,37,14,ES_AUTOHSCROLL
|
||||
GROUPBOX "本地监听",IDC_STATIC,16,93,152,65
|
||||
CONTROL "",IDC_IPADDRESS_LISTEN,"SysIPAddress32",WS_TABSTOP,57,
|
||||
117,100,15
|
||||
PUSHBUTTON "启动",IDC_BUTTON_START,116,13,50,14
|
||||
PUSHBUTTON "停止",IDC_BUTTON_STOP,116,28,50,14
|
||||
CONTROL "Webserver",IDC_RADIO_HTTPD,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,23,27,50,10
|
||||
CONTROL "http proxy",IDC_RADIO_HTTP_PROXY,"Button",
|
||||
BS_AUTORADIOBUTTON,23,39,49,10
|
||||
PUSHBUTTON "退出",IDC_BUTTON_QUIT,116,44,50,14
|
||||
GROUPBOX "运行模式",IDC_STATIC,18,17,55,37
|
||||
CONTROL "",IDC_DIVIDER,"Static",SS_BLACKRECT,3,86,176,1,
|
||||
WS_EX_STATICEDGE
|
||||
PUSHBUTTON "&M更多>>",IDC_MORE,116,66,50,14
|
||||
CONTROL "开机启动",IDC_AUTO_RUN,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,19,68,43,10
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "080403a8"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "TODO: <公司名>"
|
||||
VALUE "FileDescription", "TODO: <文件说明>"
|
||||
VALUE "FileVersion", "1.0.0.1"
|
||||
VALUE "InternalName", "JawsCtrl.exe"
|
||||
VALUE "LegalCopyright", "TODO: (C) <公司名>。保留所有权利。"
|
||||
VALUE "OriginalFilename", "JawsCtrl.exe"
|
||||
VALUE "ProductName", "TODO: <产品名>"
|
||||
VALUE "ProductVersion", "1.0.0.1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "翻译", 0x804, 936
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_ABOUTBOX, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 228
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 48
|
||||
END
|
||||
|
||||
IDD_JAWSCTRL_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 3
|
||||
RIGHTMARGIN, 179
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 168
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_MENU_ICON MENU
|
||||
BEGIN
|
||||
POPUP "托盘菜单"
|
||||
BEGIN
|
||||
MENUITEM "打开主窗口", ID_OPEN_MAIN
|
||||
MENUITEM "退出程序", ID_QUIT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ABOUTBOX "关于 JawsCtrl(&A)..."
|
||||
IDP_SOCKETS_INIT_FAILED "Windows 套接字初始化失败。"
|
||||
END
|
||||
|
||||
#endif // 中文(中华人民共和国) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE 4, 2
|
||||
#pragma code_page(936)
|
||||
#include "res\JawsCtrl.rc2" // 非 Microsoft Visual C++ 编辑过的资源
|
||||
#include "afxres.rc" // 标准组件
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user