PK q]1 META-INF/PK q]1SmoggMETA-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.5.0-b64 (Sun Microsystems Inc.) PK p]1pUžž Doxygen.conf# Doxyfile 1.3.9.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = "Java Sockets" # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ../Doxygen # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of source # files, where putting all generated files in the same directory would otherwise # cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is used # as the annotated text. Otherwise, the brief description is used as-is. If left # blank, the following values are used ("$name" is automatically replaced with the # name of the entity): "The $name class" "The $name widget" "The $name file" # "is" "provides" "specifies" "contains" "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited # members of a class in the documentation of that class as if those members were # ordinary class members. Constructors, destructors and assignment operators of # the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = YES # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources # only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = YES # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. SHOW_DIRECTORIES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm FILE_PATTERNS = *.java # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories # that are symbolic links (a Unix filesystem feature) are excluded from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse the # parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or # super classes. Setting the tag to NO turns the diagrams off. Note that this # option is superseded by the HAVE_DOT option below. This is only a fallback. It is # recommended to install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found on the path. DOT_PATH = "c:\program files\finder32" # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes that # lay further from the root node will be omitted. Note that setting this option to # 1 or 2 may greatly reduce the computation time needed for large code bases. Also # note that a graph may be further truncated if the graph's image dimensions are # not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). # If 0 is used for the depth value (the default), the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO PK c]1net/PK c]1 net/alhem/PK d]1net/alhem/jsockets/PK q]1rn n #net/alhem/jsockets/HTTPSocket.class1 +h *i *j *k *l *m +n *o pq pr *s *t uv *w ux uyz { v u|} ~  x  * *  * * * * *   * * *m_firstZm_header m_request m_responsem_http_versionLjava/lang/String;m_status m_status_textm_methodm_urlm_urim_query_string%(Lnet/alhem/jsockets/SocketHandler;)VCodeLineNumberTableLocalVariableTablethisLnet/alhem/jsockets/HTTPSocket;h"Lnet/alhem/jsockets/SocketHandler;OnRead()Vbuf[BReadLinejIszbuf2aChariOnLine(Ljava/lang/String;)VpaLnet/alhem/jsockets/Parse;strlinekeyvalueOnData([BI)VOnFirstOnHeader'(Ljava/lang/String;Ljava/lang/String;)VOnHeaderComplete IsRequest()Z IsResponseGetHttpVersion()Ljava/lang/String; GetStatus GetStatusText GetMethodGetUrlGetUriGetQueryString SourceFileHTTPSocket.java 9: ,- .- /- 0- C BC  UV  _ MN java/lang/Character 9 net/alhem/jsockets/Parse 9N _ HTTP 12 32 _ 42 52 62 WC ZC: 9Y _ XY 72 82net/alhem/jsockets/HTTPSocketnet/alhem/jsockets/TcpSocketSetLineProtocolm_ibufLjava/nio/ByteBuffer;java/nio/ByteBufferlimit()Iget([B)Ljava/nio/ByteBuffer;m_lineLjava/lang/StringBuffer;java/lang/StringBuffertoStringlengthdelete(II)Ljava/lang/StringBuffer;(C)Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;getwordjava/lang/String substring(II)Ljava/lang/String;equals(Ljava/lang/Object;)Zgetrest nextToken!*+ ,-.-/-0-123242526272829:;j*+*****<& '(=>?@ABC;2**)* * L*+ W*++ L<",- /12(3/417=DE2>?FC;|* * L*+ W=+*4+d>:6+`3T* :a+3=  9** * * WY+3N* -WgL<^; =>?%A,C1D6E?GJEPIWJZK]M|PRSTWX?]_=H9GH1,IH6'JE K2LHDE>?MN;a*hY+M,N-.- *-*,*,**- *,!*,***"+ **#Y+$%M,&N,:*-'<fcefg+i0j8k@lEmHpMqUs]tbvgwkxlzs|x}|~}=H\OPWQ2>?R2OPS2T2UVWCXYZC[\;/*<= >?]\;/*<= >?^_;/*<= >?`_;/*<= >?a_;/*<= >?b_;/* <= >?c_;/*!<= >?d_;/*(<= >?e_;/*)<= >?fgPK q]1AUU&net/alhem/jsockets/HttpGetSocket.class1e 67 8 69 : ; <=> ?@ A B C DE F GH IJ KL MNO%(Lnet/alhem/jsockets/SocketHandler;)VCodeLineNumberTableLocalVariableTablethis"Lnet/alhem/jsockets/HttpGetSocket;h"Lnet/alhem/jsockets/SocketHandler;Create()Lnet/alhem/jsockets/Socket; OnConnect()VOnFirstOnHeader'(Ljava/lang/String;Ljava/lang/String;)VkeyLjava/lang/String;valueOnHeaderCompleteOnData([BI)Vbuf[BlI SourceFileHttpGetSocket.java  net/alhem/jsockets/HttpGetSocket PQ:GET / HTTP/1.0 Connection: close Host: www.alhem.net RS TUV WX * HTTP Request>Y ZS [\ ]\ ^\ _U * HTTP Response> `\ a\java/lang/StringBuilder & * bc: d\Header Completenet/alhem/jsockets/HTTPSocketHandler$()Lnet/alhem/jsockets/SocketHandler;Send(Ljava/lang/String;)V IsRequest()Zjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln GetMethod()Ljava/lang/String;GetUrlGetHttpVersion IsResponse GetStatus GetStatusTextappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString!>*+ '( !"#$6 Y*+   %&5* 04  '&[*) * * * *) * * * . 8:;<#=-?4A<BFCPDZF [ ()e#Y+,  J"K # #*+#,+-&7   OP   ./?T  012345PK q]1; ; %net/alhem/jsockets/ListenSocket.class1 -U VW X Y Z [\ ] ^ _` a bc de> f gh ij bk lmn op q r f st uv w^ -xy -f -d gz -{|J &f} )f ~R m_creatorLnet/alhem/jsockets/Socket;@(Lnet/alhem/jsockets/SocketHandler;Lnet/alhem/jsockets/Socket;)VCodeLineNumberTableLocalVariableTablethis!Lnet/alhem/jsockets/ListenSocket;h"Lnet/alhem/jsockets/SocketHandler;creatorCreate()Lnet/alhem/jsockets/Socket; OnInitialOps()VBind(I)Issc'Ljava/nio/channels/ServerSocketChannel;ssLjava/net/ServerSocket;isaLjava/net/InetSocketAddress;eLjava/io/IOException;portIOnReadjsLjava/net/Socket;sc!Ljava/nio/channels/SocketChannel;sLjava/lang/Exception; Ljava/lang/NullPointerException;OnDelete SourceFileListenSocket.java 0 ./net/alhem/jsockets/ListenSocket 01  java/net/InetSocketAddress 0 java/io/IOException  %java/nio/channels/ServerSocketChannel  java/lang/StringBuilder 0=Got connection from    :;New Socket object: =java/lang/Exceptionjava/lang/NullPointerException =net/alhem/jsockets/Socket%(Lnet/alhem/jsockets/SocketHandler;)VHandler$()Lnet/alhem/jsockets/SocketHandler;GetKey"()Ljava/nio/channels/SelectionKey;java/nio/channels/SelectionKey interestOps#(I)Ljava/nio/channels/SelectionKey;open)()Ljava/nio/channels/ServerSocketChannel;configureBlocking((Z)Ljava/nio/channels/SelectableChannel;socket()Ljava/net/ServerSocket;(I)Vjava/net/ServerSocketbind(Ljava/net/SocketAddress;)Vattach((Ljava/nio/channels/SelectableChannel;)VtoString()Ljava/lang/String; net/alhem/jsockets/SocketHandlerLogErrorD(Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)V GetChannel'()Ljava/nio/channels/SelectableChannel;accept()Ljava/net/Socket;java/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;java/io/PrintStreamprintln(Ljava/lang/String;)Vjava/net/Socket getChannel#()Ljava/nio/channels/SocketChannel;java/nio/channels/SocketChannelAdd(Lnet/alhem/jsockets/Socket;)VOnAcceptclose!-./012Q *+*,3./ 04  56 78 9/:;2:Y**334 56<=29 *W3 7 84  56>?29M, W, N Y :- *,M**,%&3* @C GHIK$L&M'O7Q4>"@ABC DE'FG9569HIJ=2`*L+ M,NY--:W* :Y!"#*$%N**'-(L**'+* sv&)3JXY _`+d1e8jAk^lemnnssvpwrwtvx4RaKL1BMNA2O/wFP@A zBCFQ56R=2{!*L++M**,, 3|  4 FG!56MASTPK q]16net/alhem/jsockets/Parse.class1M ( ) * +, +- ./ .01 2 34 567 8 9:;(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLnet/alhem/jsockets/Parse;strLjava/lang/String;'(Ljava/lang/String;Ljava/lang/String;)VsplitnextInt()I nextDouble()Dgetword()Ljava/lang/String;getresttmpLjava/lang/StringBuffer; SourceFile Parse.java   <"= >? @A >B C java/lang/StringBuffer D EFG HI JK L"net/alhem/jsockets/Parsejava/util/StringTokenizer nextTokenjava/lang/IntegervalueOf'(Ljava/lang/String;)Ljava/lang/Integer;intValuejava/lang/Double&(Ljava/lang/String;)Ljava/lang/Double; doubleValue(I)V hasMoreTokens()Zjava/lang/Objectequals(Ljava/lang/Object;)Zappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString!>*+ $%I*+, () E *L+ ,-  E *L+ 12 !"/*7 #"3Y L* + + W+*W+< =?A"C+D.E3 ($%&'PK q]1O< net/alhem/jsockets/Socket.class1s V W X Y Z [.\ ]^/01_ V` a b cd e f ghi m_handler"Lnet/alhem/jsockets/SocketHandler;m_ch%Ljava/nio/channels/SelectableChannel;m_key Ljava/nio/channels/SelectionKey;m_close_and_deleteZm_line_protocol m_connecting%(Lnet/alhem/jsockets/SocketHandler;)VCodeLineNumberTableLocalVariableTablethisLnet/alhem/jsockets/Socket;hCreate()Lnet/alhem/jsockets/Socket; OnInitialOps()VOnReadOnWrite OnConnectOnAcceptOnDeleteReadLineOnLine(Ljava/lang/String;)VlineLjava/lang/String; OnRawData(Ljava/nio/ByteBuffer;I)VbLjava/nio/ByteBuffer;lenIHandler$()Lnet/alhem/jsockets/SocketHandler;toString()Ljava/lang/String;attach((Ljava/nio/channels/SelectableChannel;)Vx GetChannel'()Ljava/nio/channels/SelectableChannel;SetKey#(Ljava/nio/channels/SelectionKey;)VkeyGetKey"()Ljava/nio/channels/SelectionKey;SetCloseAndDeleteCloseAndDelete()ZSetLineProtocol LineProtocol(Z)V SetConnecting Connecting SourceFile Socket.java "-   !  >?not implementedj kljava/lang/StringBuilder This is a mn opq rA @A  net/alhem/jsockets/Socketjava/lang/Object net/alhem/jsockets/SocketHandlerLogErrorD(Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getClass()Ljava/lang/Class;java/lang/Class getSimpleName! !"#$a*****+%( )*&'()*+,-.-$=** % 01& '(/-$=**  % 45& '(0-$=**  % 89& '(1-$=**  % <=& '(2-$+%@& '(3-$+%C& '(45$5%F&'(6789$?%I& '(:;<=>?$/*%N& '(@A$D Y*%S& '(BC$>*+% YZ&'(DEF$/*%]& '(GH$>*+% cd&'(IJK$/*%g& '(L-$4*% mn& '(MN$/*%q& '(O-$4*% wx& '(PN$/*%{& '(OQ$>*% &'(DR-$4*% & '(RQ$>*% &'(DSN$/*%& '(TUPK q]1?w  &net/alhem/jsockets/SocketHandler.class1# I J I I  I I          "  % % % % * " % %  % % %  Iq % % %  ? J  LOG_LEVEL_INFOI ConstantValueLOG_LEVEL_WARNINGLOG_LEVEL_ERRORLOG_LEVEL_FATAL m_selectorLjava/nio/channels/Selector;m_logLnet/alhem/jsockets/StdLog; m_socketsLjava/util/Vector; Signature/Ljava/util/Vector;()VCodeLineNumberTableLocalVariableTablethis"Lnet/alhem/jsockets/SocketHandler;(Lnet/alhem/jsockets/StdLog;)VeLjava/io/IOException;logLogErrorD(Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)VsLnet/alhem/jsockets/Socket;usertxtLjava/lang/String;errcodeerrtxtloglevelSelect(JJ)Vch!Ljava/nio/channels/SocketChannel;ssLjava/net/Socket;'Ljava/nio/channels/ServerSocketChannel;Ljava/net/ServerSocket;key Ljava/nio/channels/SelectionKey;pnumkeysLjava/util/Set;itLjava/util/Iterator;bRemovedZsecsJ millisecsAdd(Lnet/alhem/jsockets/Socket;)VLjava/lang/Exception;x%Ljava/nio/channels/SelectableChannel;Valid(Lnet/alhem/jsockets/Socket;)Z PrintSocketsi SourceFileSocketHandler.java ]d ]^ WX UVjava/io/IOException SocketHandler hijava/util/Vector YZ java/lang/StringBuilder m_log is NULLOK m_selector is    java/nio/channels/SelectionKey java/nio/channels/SocketChannel net/alhem/jsockets/Socket ^ ^ ^%java/nio/channels/ServerSocketChannel       ^  ^ }   ^ ^  ^     ^ java/lang/Exception   : Current socket list   ! " net/alhem/jsockets/SocketHandlerjava/lang/Objectjava/nio/channels/Selectoropen()Ljava/nio/channels/Selector;toString()Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/io/PrintStreamprintln(Ljava/lang/String;)Vnet/alhem/jsockets/StdLogerrorf(Lnet/alhem/jsockets/SocketHandler;Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)Vselect(J)I selectedKeys()Ljava/util/Set; java/util/Setiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;readyOps()Ichannel'()Ljava/nio/channels/SelectableChannel;socket()Ljava/net/Socket; attachmentOnRead LineProtocolReadLineOnWrite()Ljava/net/ServerSocket; finishConnect SetConnecting(Z)VGetKey"()Ljava/nio/channels/SelectionKey; interestOps#(I)Ljava/nio/channels/SelectionKey; OnConnectclearCloseAndDeleteOnDeletecancelremove(Ljava/lang/Object;)Z GetChannel#java/nio/channels/SelectableChannelvalidOpsregisterQ(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;SetKey#(Ljava/nio/channels/SelectionKey;)V OnInitialOpsaddcontainsgetClass()Ljava/lang/Class;java/lang/Class getSimpleNamesizeget(I)Ljava/lang/Object;(Ljava/lang/Object;)V!IJKLMNOLMPQLMRSLMTUVWXYZ[\]^_4*` /0a bc]d_y**+*M*, * Y Y* Y* `* 34 7<9;!=,?R@xAa  efybcygXhi_}***+,`EGIa>bcjklmnLompLqr_ *i!a6*::: ~5!":  #: $%:   & ' ( ~(!":  #: $%:   ) ~(!*:  +: $%:   & ~>!":  #: $%:   ,W - ./W 01*2:6;:  $%:  3 4 5*  6W6*7:*8 `7RVX^_(`2d>gIiSjZkdlionpvr{vxyz{~  %(/=@JV`hmr|aS(st Z!uv djk st uv jk sw ux jk 1st *uv  jk >yzV)yz `{k {|Ll}~(c@Kefbc_;+9M,*,:+;N+-<+=* +>W*7N*+@-A ),?`* %),-:a4yz- e;bc;k6s_= * +B`a bc k^_F Y*CDE<* F* G%M ,H߱`,8?Ea 8k!$LFbcPK q]1asnet/alhem/jsockets/StdLog.class1 errorf(Lnet/alhem/jsockets/SocketHandler;Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)V SourceFile StdLog.javanet/alhem/jsockets/StdLogjava/lang/ObjectPK q]1R.L"net/alhem/jsockets/StdoutLog.class1Y /01234 /5 6 78 9 :;< = >?@ A9BC DEFGH()VCodeLineNumberTableLocalVariableTablethisLnet/alhem/jsockets/StdoutLog;errorf(Lnet/alhem/jsockets/SocketHandler;Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)Vh"Lnet/alhem/jsockets/SocketHandler;sLnet/alhem/jsockets/Socket; user_textLjava/lang/String;errIsys_errloglevellevel SourceFileStdoutLog.java InfoWarningErrorFataljava/lang/StringBuilder Undefined ( IJ IK) LMN OP: QRS TM/U(): V WXnet/alhem/jsockets/StdoutLogjava/lang/Objectnet/alhem/jsockets/StdLogappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;getClass()Ljava/lang/Class;java/lang/Class getSimpleNamenet/alhem/jsockets/Socketjava/io/PrintStreamprintln(Ljava/lang/String;)V!3* #$  !`=2'Y   :,S Y  +  ,  -     D Y  +  -     -F1J3479R"#$%&'()*'+)F,'-.PK q]1 kx))"net/alhem/jsockets/TcpSocket.class1 Ay z {| } ~         Z  {   {e {  & h { + +     {   9 9 9 9 vm_ilenIm_olenm_ibufLjava/nio/ByteBuffer;m_obufm_lineLjava/lang/StringBuffer;'(Lnet/alhem/jsockets/SocketHandler;II)VCodeLineNumberTableLocalVariableTablethisLnet/alhem/jsockets/TcpSocket;h"Lnet/alhem/jsockets/SocketHandler;ilenolen%(Lnet/alhem/jsockets/SocketHandler;)VCreate()Lnet/alhem/jsockets/Socket; OnInitialOps()VOpen(Ljava/lang/String;I)Vsc!Ljava/nio/channels/SocketChannel;eLjava/io/IOException;hostLjava/lang/String;portisaLjava/net/InetSocketAddress;OnReadnLjava/lang/Exception;OnDeleteReadLinebBaChariSend(Ljava/lang/String;)Vstrbbuf[BSendBuf([BI)VlOnWrite SourceFileTcpSocket.java JU BC EF DC GFjava/lang/StringBuffer J HI JKnet/alhem/jsockets/TcpSocket  java/net/InetSocketAddress J[ Y java/io/IOException  Y java/nio/channels/SocketChannel error while reading  ibuf.limit != n (buffer cleared)java/lang/Exception Y java/lang/Character J o  st vY  java/lang/StringBuilder JY  bytes written  onet/alhem/jsockets/Socketjava/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer;(I)VHandler$()Lnet/alhem/jsockets/SocketHandler; Connecting()ZGetKey"()Ljava/nio/channels/SelectionKey;java/nio/channels/SelectionKey interestOps#(I)Ljava/nio/channels/SelectionKey;open#()Ljava/nio/channels/SocketChannel;configureBlocking((Z)Ljava/nio/channels/SelectableChannel;connect(Ljava/net/SocketAddress;)Z SetConnectingattach((Ljava/nio/channels/SelectableChannel;)VtoString()Ljava/lang/String; net/alhem/jsockets/SocketHandlerLogErrorD(Lnet/alhem/jsockets/Socket;Ljava/lang/String;ILjava/lang/String;I)VSetCloseAndDeleteclear()Ljava/nio/Buffer; GetChannel'()Ljava/nio/channels/SelectableChannel;read(Ljava/nio/ByteBuffer;)Ifliplimit()I OnRawData(Ljava/nio/ByteBuffer;I)Vcloseget(I)B(C)VOnLinelengthdelete(II)Ljava/lang/StringBuffer;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/StringgetBytes()[Bput([B)Ljava/nio/ByteBuffer;writejava/lang/SystemoutLjava/io/PrintStream;(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/io/PrintStreamprintln! ABCDCEFGFHI JKL.*+*****Y M,- ./01-2N*.OP.QR.SC.TCJULD *+@u0 M 5 6N OP QRVWL> Y* ** M9N OPXYLX* *W *WM=?@CEN OPZ[LDY+N:W-**:* ** ),M. I LNOQ#W)],Y.[?\C^N>\].^_DOPD`aDbC :cdeYL(*W*L+*=* W* *!"*;4*#**$* *!%*WL* *!+'*sv&MRbefg!h&j4k8l;n?pBrQtZu]xkysv|w~N*c\]ZfCw^gOPhYL{!*L+(M* *), M  N ^_!OP\]iYLq<*#f**=+Y,-N=  *** ./* * 01W * -2WM. #@CN^ajpN*Tjk#GlanmCqOPnoLS +3M*,,4M N  OP paqrstLx>*W*+5W*6M N*OPqruCfCvYLK* W*L+*7=89Y:;<=>?L* *@+'*25&M& 256FJN*"\]fC6^gKOPwxPK q]1 AMETA-INF/PK q]1Smogg'META-INF/MANIFEST.MFPK p]1pUžž Doxygen.confPK c]1Anet/PK c]1 Aѿnet/alhem/PK d]1Anet/alhem/jsockets/PK q]1rn n #*net/alhem/jsockets/HTTPSocket.classPK q]1AUU&net/alhem/jsockets/HttpGetSocket.classPK q]1; ; %rnet/alhem/jsockets/ListenSocket.classPK q]16net/alhem/jsockets/Parse.classPK q]1O< net/alhem/jsockets/Socket.classPK q]1?w  &net/alhem/jsockets/SocketHandler.classPK q]1as net/alhem/jsockets/StdLog.classPK q]1R.L": net/alhem/jsockets/StdoutLog.classPK q]1 kx))"Rnet/alhem/jsockets/TcpSocket.classPK0$